2016-04-27 45 views
0

尝试在Debian 7上的Apache(2.2)上部署django项目。 使用Django 1.8和带有python3.4的虚拟环境。Django - Apache2 - Postgresql:error with _psycopg

得到以下错误:

django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named _psycop

我已经试过的建议指出herehere

这是我的apache conf。

(以下行嵌套虚拟主机范围内)

#WSGI configuration for ds_monitor django project

Alias /static /home/pkaramol/Applications/timeds/ds_monitor/static_root 
<Directory /home/pkaramol/Applications/timeds/ds_monitor/static_root> 
    Allow from all 
</Directory> 

<Directory /home/pkaramol/Applications/timeds/ds_monitor/ds_monitor> 
    <Files wsgi.py> 
     Allow from all 
    </Files> 
</Directory> 

WSGIDaemonProcess ds_monitor python-path=/home/pkaramol/Applications/timeds/ds_monitor:/home/pkaramol/Applications/timeds/venv_p34dj18/lib/python3.4/site-packages 
WSGIProcessGroup ds_monitor 
WSGIScriptAlias /ds_monitor /home/pkaramol/Applications/timeds/ds_monitor/ds_monitor/wsgi.py 

和这个外部虚拟主机范围(以启用生产 - 时间虚拟环境)

WSGIPythonPath /home/pkaramol/Applications/timeds/ds_monitor:/home/pkaramol/Applications/timeds/venv_p34dj18/lib/python3.4/site-packages 

的另一个问题是以下行存在于Apache的日志栈跟踪中

File "/usr/lib/python3.2/importlib/_bootstrap.py", line 821, in _gcd_import 
    loader.load_module(name) 

为什么使用系统的python 3.2?

我是否正确指出了virtualenv路径在wsgi confs方面做了s.th错误?

在任何情况下,psycopg2模块也安装在系统中(不仅在virtualenv中)

回答

0

似乎很奇怪,但整个问题最有可能曾与Python版本是mod_wsgi反对编译做。

我已经从here下载/配置/安装了版本4.5.2的mod_wsgi,但忘记使用适当的python版本进行配置。

所以我在整个过程中再次运行(从解压缩原始压缩档的开始)和配置如下:

./configure --with-python=/usr/bin/python3.5

重新启动的Apache和问题就解决了。