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

Posted

技术标签:

【中文标题】在 ubuntu 14.04 上安装 psycopg2 的最佳方法【英文标题】:Best way to install psycopg2 on ubuntu 14.04 【发布时间】:2015-07-19 13:40:50 【问题描述】:

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

【问题讨论】:

在安装前尝试运行apt-get update 我通常通过 pip 在 vi​​rtualenv 中安装 psycopg2。您可能需要先运行:sudo apt-get install libpq-dev python-dev。如果您通过 apt 安装了 psycopg2,除非您为该 env 启用了系统范围的站点包,否则您的 virtualenv 将看不到它。 @Joseph,我已经多次运行 apt-get update,同样的错误 @Brandon,我已经运行了该命令,同样的错误。如何为 virtualenv 启用系统范围的包?使用 pip 为 Django/Mezzanine 安装所有 req 会更好吗? 如果你使用的是virutalenvwrapper,很简单:$ toggleglobalsitepackages我没有使用Mezzanine,所以我不确定只运行它的requirements.txt是否会有所不同。跨度> 【参考方案1】:

如果系统安装程序需要 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 ***包将从 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

【讨论】:

【参考方案2】:

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

sudo apt-get install python3.5-dev

那我可以跑了

pip install psycopg2

【讨论】:

【参考方案3】:

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

你应该通过 pip 安装它

pip install psycopg2

采购环境后。

【讨论】:

以上是关于在 ubuntu 14.04 上安装 psycopg2 的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

在 Ubuntu 14.04 LTS 上安装 Navicat

GitLab 在 Ubuntu 14.04 上安装在哪里?

如何在 Ubuntu 14.04 上安装 MarkLogic 8?

我无法在普通的 ubuntu 14.04 上安装 udev

如何在Ubuntu 14.04 LTS上安装MariaDB

无法在 Ubuntu 14.04 上安装 Mysql 5.6