我已经下载了pyscopg2的最新版本,并尝试使用提供的指示构建和安装它。但是我总是得到一个错误,说'w'是未声明的。有没有人有这方面的经验?
答案 0 :(得分:11)
当构建工具找不到Postgresql库时,这是一个错误。这意味着三件事之一:
您的系统上没有安装postgresql。如果是这样,请下载并构建postgres,或者为OS X下载预先构建的psycopg2二进制文件。
您的系统上安装了postgresql,但是您是从二进制包安装的,因此没有psycopg2所需的必要库。在这种情况下,请下载并构建postgres。
但更常见的是,这意味着您已经在系统上构建了postgres,只需要指示psycopg2如何找到pg_config
二进制文件,以便它可以配置编译。之一:
一个。将路径放到shell路径中的pg_config(如果你使用默认值从源代码构建postgres,它通常位于/usr/local/pgsql/bin/
。
湾或者,编辑psycopg2源文件夹中的setup.cfg
文件,并在以pg_config
开头的行上提供pg_config=
的完整路径。请务必通过删除前面的哈希符号来取消注释此行。如果您使用默认值构建postgres,则该行将类似于:
pg_config=/usr/local/pgsql/bin/pg_config
答案 1 :(得分:3)
在Snow Leopard上使用MacPorts
pg_config=/opt/local/lib/postgresql90/bin/pg_config
答案 2 :(得分:0)
我只需要在virtualenv中安装psycopg2库而不将它添加到root python中,我不想在我的本地机器上完全安装postgreSQL,所以我想出了这个似乎工作得很好的解决方案。
从here下载postgres.app,然后将应用程序放在“应用程序”文件夹中。
在shell中,将postgres.app bin目录添加到PATH:
export PATH = $ PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
。 myvenv / bin中/激活
我尝试设置pg_config变量,但这不起作用。 pip安装专门告诉我,我必须将pg_config所在的目录放在路径中。
我也更喜欢这个解决方案,因为如果我想在本地运行PostgreSQL,我可以轻松启动应用程序,然后在我完成后关闭它并且它已经消失 - 后台没有任何东西在运行。没有系统配置更改或任何事情。这是运行PostgreSQL进行本地开发或快速演示的好方法。