如何在Python中用“pip”安装psycopg2?

718 投票
37 回答
723068 浏览
提问于 2025-04-16 14:20

我正在使用 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 ...

37 个回答

108

如果你在用Mac电脑,可以用Homebrew这个工具来安装。

brew install postgresql

其他安装选项可以在这里找到:http://www.postgresql.org/download/macosx/

127

在CentOS系统上,你需要安装Postgres的开发包:

sudo yum install python-devel postgresql-devel

这至少是在CentOS 6上的解决办法。

1246

注意: 现在在PyPI上已经有Windows的二进制轮子了,所以Windows用户不再需要担心这个问题。下面是针对Linux和Mac用户的解决方案,因为很多人通过网络搜索找到这篇文章。


选项 1

可以安装 psycopg2-binary 这个PyPI包,它有适用于Linux和Mac OS的Python轮子。

pip install psycopg2-binary

选项 2

如果你想从源代码构建 psycopg2 包,需要先安装一些前置条件:

Debian/Ubuntu

Python版本 命令 备注
默认的Python 3 sudo apt install libpq-dev python3-dev
Python 3.x sudo apt install libpq-dev python3.x-dev 在命令中替换 x
Python 2 sudo apt install libpq-dev python-dev

如果这些还不够,你可能还需要安装

sudo apt install build-essential

或者

sudo apt install postgresql-server-dev-all

然后再重新安装psycopg2。

CentOS 6

请查看 Banjer的回答

macOS

请查看 nichochar的回答

撰写回答