所以我第一次尝试让 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
psycopg2 egg 目录中唯一的文件是_psycopg.so
. 没有tz.py
文件,我认为这是问题所在。
请指教。
PS,我使用 buildoutdjangorecipe
来部署 Django。buildout
我与用户一起运行构建脚本。不确定这是否有意义。
PPS,psycopg2
安装正确,因为我能够运行syncdb
.