为 Anaconda 安装 psycopg2 Python

Install psycopg2 for Anaconda Python

我有 Anaconda Python 3.4,但是每当我 运行 旧代码时,我都会通过输入 "source activate python2" 切换到 Anaconda Python 2.7。我的问题是我为 Anaconda Python 3.4 安装了 psycopg2,但没有为 Anaconda Python 2.7 安装。当我 运行 pip install psycopg2(在 Python 2.7 上)时,我收到以下消息:

Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
    python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.

我是编程新手,需要以下方面的帮助:

1. Obtaining directory containing pg_config
2. Finding the path to Anaconda Python 2.7 
3. Adding pg_config to the PATH.

完成这些步骤后,我应该可以 pip install 安装 psycopg2

您需要 PostgreSQL 的开发系统包,其中包含编译 psycopg2 扩展所需的头文件。对于我的 CentOS 64 位,安装命令是:

yum install postgresql-devel.x86_64

但这取决于 OS - 对于 Ubuntu 那将是 apt-get install ... - 包的名称在发行版之间略有不同。
执行此操作后,步骤 2 和 3 应该是不必要的。

编辑: 对于 Mac OS 那就是:

brew install postgresql

写成here

如果你有 anaconda,就可以避免这些令人头疼的问题。

你说你有 python 的 Anaconda 发行版,快速查看 included packages 表明 psycopg2 已经存在(尽管不在安装程序中)。您可以简单地:

source activate python2
conda install psycopg2

这允许 conda 安装程序管理所有二进制依赖项。也让升级更容易。

如果这不起作用或者有不喜欢该包的原因(版本问题?)那么这是一个不同的问题。

env是在Anaconda上创建的虚拟环境 激活 env 后,在终端中输入:

conda install -n env [package]

例如

$ conda install -n env psycopg2

此后输入python进入Anacondashell,然后输入:

import psycopg2

如果没有报错,则安装成功

我下载了 anaconda,看起来我可以访问 pip3 pip3 install psycopg2