我有一个在Apache下运行的Django 1.5,Python 2.7站点,在CentOS 6.4服务器上使用mod_wsgi。
我已经使用Django 1.6和Python 3.3重build了这个站点。 将其部署到同一台服务器,并更改httpd.conf中的path我得到的主题错误。 这个新的安装按照预期使用./manage.py runserver。
这里是httpd.conf中的两个WSGI定义:
WSGIScriptAlias / /home/ccdgen/CCDGEN2/apache/wsgi.py WSGIPythonPath /home/ccdgen/CCDGEN2/ccdgen/ccdgen:/home/ccdgen/CCDGEN2/ccdgen:/home/ccdgen/CCDGEN2/lib/python3.3/site-packages <Directory /home/ccdgen/CCDGEN2/ccdgen> <Files wsgi.py> Order allow,deny Allow from all </Files> </Directory> #WSGIScriptAlias /ccdgen /home/ccdgen/CCDGEN/apache/wsgi.py #WSGIPythonPath /home/ccdgen/CCDGEN/mlhim/ccdgen:/home/ccdgen/CCDGEN/mlhim:/home/ccdgen/CCDGEN/lib/python2.7/site-packages #<Directory /home/ccdgen/CCDGEN/mlhim> # <Files wsgi.py> # Order allow,deny # Allow from all # </Files> #</Directory>
wsgi.py文件在两个安装上是相同的:
import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mlhim.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
有任何想法吗? 明显的疏忽? 谢谢
最近我有这个问题:
ImproperlyConfigured: Error loading psycopg2 module: No module named _psycopg
…这个命令是答案:
sudo apt-get install libapache2-mod-wsgi-py3
参考:
试试这些命令Debian,Ubuntu
sudo apt-get install python-dev sudo apt-get install libpq-dev
对于RedHat Enterprise,Fedora,CentOS
sudo yum install python-devel sudo yum install postgresql-libs
然后安装psycopg2
pip install psycopg2
问题是mod_wsgi是为Python 2.7编译的,需要为Python 3.3重新编译。 我没有找到一个新的mod_wsgi作为一个包,所以我重新编译它。
由于Python 3是在CentOS 6.4上进行备用安装的,因此配置在生成良好的Makefile时很困难,甚至可以传递–with-python选项。 从python3.3-config –cflags和–ldflags选项获得信息后,我需要编辑一下Makefile。
HTH某人在未来。
正如已经提到的,mod_wsgi没有被编译为python 3.一个选择是使用软件集合和/或去与nginx和“pip install uwsgi”,这节省了大量的编译和运行自定义软件包。