在Mac OS X上安装psycopg2时出现问题

时间:2009-05-11 00:41:24

标签: python database django macos

我已经下载了pyscopg2的最新版本,并尝试使用提供的指示构建和安装它。但是我总是得到一个错误,说'w'是未声明的。有没有人有这方面的经验?

3 个答案:

答案 0 :(得分:11)

当构建工具找不到Postgresql库时,这是一个错误。这意味着三件事之一:

  1. 您的系统上没有安装postgresql。如果是这样,请下载并构建postgres,或者为OS X下载预先构建的psycopg2二进制文件。

  2. 您的系统上安装了postgresql,但是您是从二进制包安装的,因此没有psycopg2所需的必要库。在这种情况下,请下载并构建postgres。

  3. 但更常见的是,这意味着您已经在系统上构建了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,所以我想出了这个似乎工作得很好的解决方案。

  1. here下载postgres.app,然后将应用程序放在“应用程序”文件夹中。

  2. 在shell中,将postgres.app bin目录添加到PATH:

  3.   

    export PATH = $ PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin

    1. 激活virtualenv:
    2.   

      。 myvenv / bin中/激活

      1. pip install psycopg2
      2. 我尝试设置pg_config变量,但这不起作用。 pip安装专门告诉我,我必须将pg_config所在的目录放在路径中。

        我也更喜欢这个解决方案,因为如果我想在本地运行PostgreSQL,我可以轻松启动应用程序,然后在我完成后关闭它并且它已经消失 - 后台没有任何东西在运行。没有系统配置更改或任何事情。这是运行PostgreSQL进行本地开发或快速演示的好方法。