2016-12-22 8 views
0

私は、FreeBSD上でPython 2.7.9とDjango 1.10を使っていくつかのアプリケーションをデバッグしようとしています。FreeBSD。 Django-shell permission denied

私は一般的に言えば、同等の権限と権限を持つ2人のユーザーがいますが、最初のユーザーを使用してdjango-shellを実行し、シェルのスクリプトをすべて実行するとokです。

問題は、私は第二のユーザから同じスクリプトを実行しようとすると、私が取得を開始:

File "/usr/local/lib/python2.7/shelve.py", line 223, in __init__ 
    Shelf.__init__(self, anydbm.open(filename, flag), protocol,  writeback) 
    File "/usr/local/lib/python2.7/anydbm.py", line 85, in open 
     return mod.open(file, flag, mode) 
error: (13, 'Permission denied') 

私はUSR /ローカルへのすべてのディレクトリを設定している - のchmod 777、第1および第2のユーザがしています同じグループと私の視点から同じ権限があります。

+0

ここに十分な情報はありません。何でもかまいません。トレースバックを見ると、anydbライブラリを使用してファイルを開こうとすると問題が発生しているようです。さもなければ、少なくともあなたのDjangoがどのようにセットアップされているのか、あなたのスクリプトが何をしているのかを知ることに役立ちます。 –

+0

Djangoはvirtualenvにセットアップされています。スクリプトはgsx Appleサービスに接続しようとしています(最初のユーザーで動作するため、スクリプトが正常に動作していることは間違いありません)。 – Vitalii

答えて

0

まず、あなたの情報は解決するには十分ではありません。しかし、あなたがあなたのpython開発にvirtualenvを使用していることを確認してください。あなたがそれを使用していない場合は、すべての場合にsudoを使用する必要がありますが、これは悪い習慣です。またには777の許可はありません。オペレーティングシステムの機能が壊れることがあります。

virtualenv

+0

私には分かりません。他の情報もここで役立ちます。私は実際に私のプロジェクトでvirtualenvを使用していますが、私はこれらのフォルダにも権限の問題があります。file "/opt/servo/env/src/../ .."、227行目、function_name self.shelf = shelve.open (self.fp、protocol = -1。エラー:(13、 'Permission denied') – Vitalii

+0

@Vitalii 'virtualenv'をアクティブにしましたか?本当にそれを行った場合、グローバルライブラリを使用する理由はありません –

+0

はいしかし、anydbmはPythonでビルドされたライブラリなので、なぜグローバルライブラリ[Python](https://docs.python.org/2/library/anydbm.html)を使用しているのですか? – Vitalii

関連する問題