Django、mod_wsgi、psycopg2配置不当:加载psycopg2模块时出错:没有名为_psycopg的模块

Django、mod_wsgi、psycopg2配置不当:加载psycopg2模块时出错:没有名为_psycopg的模块,django,apache,postgresql,psycopg2,centos6,Django,Apache,Postgresql,Psycopg2,Centos6,我有一个Django 1.5、Python 2.7站点,在Apache下运行,在CentOS 6.4服务器上运行mod_wsgi 我使用Django 1.6和Python 3.3重建了这个站点。将其部署到同一服务器并更改httpd.conf中的路径,我会得到主题错误。此新安装使用./manage.py runserver按预期工作 以下是httpd.conf中的两个WSGI定义: WSGIScriptAlias / /home/ccdgen/CCDGEN2/apache/wsgi.py WSGI

我有一个Django 1.5、Python 2.7站点,在Apache下运行,在CentOS 6.4服务器上运行mod_wsgi

我使用Django 1.6和Python 3.3重建了这个站点。将其部署到同一服务器并更改httpd.conf中的路径,我会得到主题错误。此新安装使用./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>

有什么想法吗?明显的疏忽?谢谢你,试试这些命令Debian,Ubuntu

sudo apt-get install python-dev
sudo apt-get install libpq-dev
适用于红帽企业、Fedora、CentOS

sudo yum install python-devel
sudo yum install postgresql-libs
然后安装psycopg2

pip install psycopg2

问题是mod_wsgi是为Python2.7编译的,需要为Python3.3重新编译。我没有发现一个新的mod_wsgi作为包在任何地方都可用,所以我重新编译了它

由于Python3是CentOS 6.4.configure上的替代安装,因此很难生成一个好的Makefile,甚至传递了--with Python选项。在从python3.3-config--cflags和--ldflags选项获得信息之后,我需要编辑一点Makefile


未来的某个人

如前所述,尚未为python 3编译mod_wsgi。一种选择是使用和/或使用nginx和“pip install uwsgi”,这节省了大量编译和运行自定义软件包的时间。

我最近遇到了这个问题:

配置不正确:加载psycopg2模块时出错:没有名为\u psycopg的模块

。。。这个命令就是答案:

sudo apt get安装libapache2-mod-wsgi-py3

参考:


Sudo apt get install python-psycopg2或任何centos版本的安装软件包…谢谢,但显然我已经安装了它。它与以前的站点以及我运行Django dev服务器时都可以使用;它已经安装好了。Django开发服务器可以工作。此外,运行./manage.py shell然后导入psycopg2也可以工作。以及:从psycopg2导入_Psycopgar您是否使用python virtualenv进行双向运行?是的,以前的站点是在python 2.7 virtualenv下运行的,新站点是在python 3.3 virtualenv下安装的。您可以尝试一下这个:yum install python33-python-psycopg2和'ENGINE':'django.db.backends.postgresql_psycopg2',也许这是我试图摆脱依赖后的工作,我在一个圈子里。错误:包:python33-python-3.3.2-7.el6.x86_64(/python33-python-3.2-7.el6.x86_64)需要:python33-python-libs(x86-64)=3.3.2-7.el6 Ander:包:python33-python-libs-3.3.2-7.el6.x86_64(/python33-python-libs-3.3.3.2-7.el6.python)需要:python33(其中abi=3是由python33-python-3.3.2-7.el6.x86_64.rpm提供的。您能解释一下您到底做了什么吗?那是一年多以前的事了,所以我不记得一步一步的过程。但是您需要在CentOS上重新编译Python,并读取cflags和ldflags,因为需要编辑Makefile。我最终将需要CentOS/RHE的DB移到了云端,并返回到Ubuntu服务器,用于我的Django应用程序。在我看来,在CentOS上开发和使用现代Python是不可能的。
pip install psycopg2