我正在使用virtualenv,我需要安装“psycopg2”。

我做了以下几点:

pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160

我有以下信息:

Downloading/unpacking http://pypi.python.org/packages/source/p/psycopg2/psycopg2
-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
  Downloading psycopg2-2.4.tar.gz (607Kb): 607Kb downloaded
  Running setup.py egg_info for package from http://pypi.python.org/packages/sou
rce/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
    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'.
    Complete output from command python setup.py egg_info:
    running egg_info

creating pip-egg-info\psycopg2.egg-info

writing pip-egg-info\psycopg2.egg-info\PKG-INFO

writing top-level names to pip-egg-info\psycopg2.egg-info\top_level.txt

writing dependency_links to pip-egg-info\psycopg2.egg-info\dependency_links.txt

writing manifest file 'pip-egg-info\psycopg2.egg-info\SOURCES.txt'

warning: manifest_maker: standard file '-c' not found

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'.

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in C:\Documents and Settings\anlopes\Application Data\pip\p
ip.log

我的问题是,我只需要这样做来让psycopg2工作?

python setup.py build_ext --pg-config /path/to/pg_config build ...

当前回答

在OpenSUSE 13.2,这修复了它:

sudo zypper in postgresql-devel 

其他回答

在Mac Mavericks与Postgres。在安装Postgres后,我需要使用以下代码:

sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2 . sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin

如果PIP不工作,您可以从这里下载.whl文件https://pypi.python.org/pypi/psycopg2 提取它. . 而不是python setup.py install

在OSX上使用macports:

sudo port install postgresql96
export PATH=/opt/local/lib/postgresql96/bin:$PATH

到目前为止,答案太像魔法食谱了。您收到的错误告诉您pip无法找到PostgreSQL查询库中所需的部分。这可能是因为你把它安装在一个非标准的地方,这就是为什么消息建议使用——pg-config选项。

但更常见的原因是根本没有安装libpq。这通常发生在你没有安装PostgreSQL服务器的机器上,因为你只想运行客户端应用程序,而不是服务器本身。每个操作系统/发行版都是不同的,例如在Debian/Ubuntu上你需要安装libpq-dev。这允许你根据PostgreSQL查询库编译和链接代码。

Most of the answers also suggest installing a Python dev library. Be careful. If you are only using the default Python installed by your distro, that will work, but if you have a newer version, it could cause problems. If you have built Python on this machine then you already have the dev libraries needed for compiling C/C++ libraries to interface with Python. As long as you are using the correct pip version, the one installed in the same bin folder as the python binary, then you are all set. No need to install the old version.

我最近在一台windows计算机上配置了psycopg2。最简单的安装是使用windows可执行二进制文件。你可以在http://stickpeople.com/projects/python/win-psycopg/上找到它。

要在虚拟环境中安装本机二进制文件,请使用easy_install:

C:\virtualenv\Scripts\> activate.bat
(virtualenv) C:\virtualenv\Scripts\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe