在ubuntu 14.04上安装psycopg2的最佳方法

时间:2015-05-08 15:14:21

标签: python virtualenv

我在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元素时....

3 个答案:

答案 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

采购环境后。