0

だから私は初めてDjangoをmod-wsgiで実行させようとしています。例に示すようにApacheを構成しましたが、すべてが正しく行われたと確信しています。

PYTHON_EGG_CACHE変数を設定しなかったため、デフォルトを使用します: /var/www/.python-eggs。このディレクトリを作成し、ユーザーが書き込み可能にしましたwww-data

サイトを開くと、500.htmlテンプレートからの出力が表示され、ログに記録されるものは次のとおりです。

   ...
   File "/usr/local/.../parts/django/django/db/__init__.py", line 17, in load_backend
     return import_module('.base', 'django.db.backends.%s' % backend_name)
   File "/usr/local/.../parts/django/django/utils/importlib.py", line 35, in import_module
     __import__(name)
   File "/usr/local/.../parts/django/django/db/backends/postgresql_psycopg2/base.py", line 22, in <module>
     raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
 ImproperlyConfigured: Error loading psycopg2 module: cannot import name tz

これが私が持っているものです/var/www/.python-eggs/

# ls -la /var/www/.python-eggs/
total 12
drwxr-xr-x 3 www-data www-data 4096 Jan 27 04:19 .
drwxr-xr-x 5 root     root     4096 Jan 27 04:18 ..
drwxr-xr-x 3 www-data www-data 4096 Jan 27 04:19 psycopg2-2.0.13-py2.5-linux-i686.egg-tmp

# ls -la /var/www/.python-eggs/psycopg2-2.0.13-py2.5-linux-i686.egg-tmp/psycopg2/
total 368
drwxr-xr-x 2 www-data www-data   4096 Jan 27 04:19 .
drwxr-xr-x 3 www-data www-data   4096 Jan 27 04:19 ..
-rwxr-xr-x 1 www-data www-data 363318 Jan 22 03:44 _psycopg.so

psycopg2eggディレクトリ内の唯一のファイルはです_psycopg.so。ファイルがなくtz.py、これが問題だと思います。

ご意見をお聞かせください。

PS、私はビルドアウトを使用しdjangorecipeてDjangoをデプロイします。ユーザーと一緒にビルドアウトスクリプトを実行しbuildoutます。しかし、それが理にかなっているかどうかはわかりません。

PPSpsycopg2は、実行できるので正しくインストールされていますsyncdb

4

2 に答える 2

1

わかりました、私は解決策を見つけました。私はビルドアウトにシステムPythonを使用しましたが、サイトパッケージにはすでにpsycopg2が含まれていました。システムサイトパッケージ内のpsycopg2とビルドアウトによってインストールされたものとの間に何らかの競合があったようです。仮想Python環境をセットアップし、ビルドアウトに使用しました。そしてこれは役に立ちました!これ以上のインポートエラーはありません。

于 2010-02-04T06:55:25.460 に答える
0

コマンドラインからインポートできる場合は、パスのどこかで、www-dataユーザーがeggパスへのアクセスを禁止されていることをお勧めします。

于 2010-01-28T21:44:26.117 に答える