在 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 在 virtualenv 中安装 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