我在Ubuntu 14.04上安装Django应用程序(Mezzanine)时遇到问题。我使用apt-get安装了大多数必需品(django-compressor和south -used pip除外),包括用于Postgres的psycopg2。但是,当我去运行python manage.py createdb时,它会出现这个错误:
Error loading psycopg2 module: No module named psycopg2
这是我用来安装psycopg2的命令:
sudo apt-get install python-psycopg2
我做错了什么?我应该使用pip来安装psycopg2。我去了网站,它建议通过你的操作系统包管理器而不是pip进行安装。
我正在使用virtualenv,除非我在安装psycopg2元素时....
答案 0 :(得分:19)
如果您需要psycopg2用于系统安装程序,请使用系统软件包管理器安装它。如果你需要它用于virtualenv中的程序,请将其安装在virtualenv中。
. env/bin/activate
pip install psycopg2
请注意,在许多发行版中,默认情况下不会安装编译库所需的开发头。对于Ubuntu上的psycopg2,你需要python和postgresql头文件。
sudo apt-get install python-dev libpq-dev
psycopg 2.7现在发出警告,由于兼容性问题,它将停止提供二进制版本。
psycopg2 wheel包将从2.8版重命名;为了继续从二进制安装,请使用“pip install psycopg2-binary”代替。有关详细信息,请参阅:http://initd.org/psycopg/docs/install.html#binary-install-from-pypi。
有关详细说明,请参阅release announcement。要处理警告,请告诉pip不要下载psycopg2的预置轮。
pip install --no-binary psycopg2 psycopg2
答案 1 :(得分:3)
对我来说,要使用virtualenv
在Ubuntu 14.04上解决此问题,我必须
sudo apt-get install python3.5-dev
然后我可以运行
pip install psycopg2
答案 2 :(得分:1)
从虚拟环境中看不到通过psycopg
安装的apt-get
。
你应该通过pip安装它
pip install psycopg2
采购环境后。