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

Best way to install psycopg2 on ubuntu 14.04

我在 Ubuntu 14.04 上安装 Django 应用程序 (Mezzanine) 时遇到问题。我已经使用 apt-get 安装了大多数必需品(django-compressor 和 south 使用的 pip 除外),包括用于 Postgres 的 psycopg2。然而,当我去 运行 python manage.py createdb 它给出了这个错误:

Error loading psycopg2 module: No module named psycopg2

这是我用来安装 psycopg2 的命令:

sudo apt-get install python-psycopg2

我做错了什么?我应该使用 pip 安装 psycopg2 吗?我去了网站,它建议通过 OS 包管理器而不是 pip 安装。

除了安装 psycopg2 元素时,我在 virtualenv 中工作....

您通过 apt-get 安装的 psycopg 在虚拟环境中是不可见的。

你应该通过 pip 安装它

pip install psycopg2

采购您的环境后。

如果系统安装的程序需要 psycopg2,请使用系统包管理器安装它。如果你需要它用于 virtualenv 中的程序,请在该 virtualenv 中安装它。

. env/bin/activate
pip install psycopg2

请注意,在许多发行版中,默认情况下未安装针对库进行编译所需的开发 headers。对于 Ubuntu 上的 psycopg2,您需要 python 和 postgresql headers.

sudo apt-get install python-dev libpq-dev

psycopg 2.7 现在发出警告,由于兼容性问题它将停止提供二进制版本。

The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: http://initd.org/psycopg/docs/install.html#binary-install-from-pypi.

请参阅 release announcement 以获得详尽的解释。要处理警告,请告诉 pip 不要为 psycopg2 下载 pre-built wheel。

pip install --no-binary psycopg2 psycopg2

对我来说,要在 Ubuntu 14.04 上用 virtualenv 解决这个问题,我必须

sudo apt-get install python3.5-dev

那我就可以运行

pip install psycopg2