在Cygwin中安装psycopg2时出现错误

9

我试图在Cygwin中安装psycopg2,但尚未成功。错误信息如下:

Gaurav@gauravpc ~/FieldAgentWeb/FieldAgentWeb
$ easy_install psycopg2
Searching for psycopg2
Reading http://pypi.python.org/simple/psycopg2/
Reading http://initd.org/psycopg/
Reading http://initd.org/projects/psycopg2
Best match: psycopg2 2.4.2
Downloading http://initd.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.2.tar.gz
Processing psycopg2-2.4.2.tar.gz
Running psycopg2-2.4.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-QBYpxH
/psycopg2-2.4.2/egg-dist-tmp-gcLa5F
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'.
error: Directory not empty <built-in function rmdir> /tmp/easy_install-QBYpxH/ps
ycopg2-2.4.2/tests

之后我试图获取d pg_config文件,但在网上找不到它。

2个回答

16

今天我成功安装了psycopg2,而没有安装Windows版的PostgreSQL(在我的情况下,数据库已经设置在另一台服务器上,我只需要用一个依赖于psycopg2的Python包连接它,因此完整安装对我来说并不必要)。

根据pg_config executable not found,从cygwin安装中我安装了postgresql-devellibpq-dev(这些应该是必要的,记录一下,我还安装了很多其他相对于postgresql的包,如postgresql-client、postgresql-plpython和libpq5)。

之后我就可以成功运行pip install psycopg2了。


我刚刚使用Cygwin / Babun和Pact安装测试了这个。libpq-devel是必须的,而postgresql-devel不是必需的。 - juanitogan
1
我在Cygwin中遇到了pg_config未找到的问题,安装了postgresql-devel和libpq-devel之后,现在已经存在了!谢谢。 - Craig London
我尝试安装pgcli包,但在为psycopg2构建wheel时失败了。在安装您提到的软件包后,它成功安装了。现在我运行pgcli时遇到另一个错误,但这是另一个故事… - Wirone

5

pg_config是你的PostgreSQL安装的一部分。它位于本地安装的bin目录中(例如C:\Program Files (x86)\PostgreSQL\9.0\bin)。将该目录添加到你的搜索路径并尝试重新构建。


你的解决方案适用于直接安装POSTgreSQL的情况。但我在使用已经与Django捆绑安装的POSTgreSQL。因此,在我的C:驱动器中没有这样的目录(例如C:\ Program Files(x86)\ PostgreSQL \ 9.0 \ bin)。 - himanshu
我刚刚下载了官方的Django发行版,但是它并没有包含PostgreSQL,网络上的所有资料都说你应该单独下载并安装它。无论如何...如果PostgreSQL已经与你的Django一起安装了,只需在Django安装目录中查找pg_config即可。 - Pablo
Pablo是正确的。为了能够安装psycopg2,您需要单独安装PostgreSQL(顺便说一下--PostgreSQL是正确的大写形式)。Django没有DB驱动程序,更不用说DB了。 - cwallenpoole

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接