代码之家  ›  专栏  ›  技术社区  ›  zpesk

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

  •  3
  • zpesk  · 技术社区  · 15 年前

    我下载了Pyscopg2的最新版本,并尝试按照提供的说明进行构建和安装。但是我总是会得到一个错误,说“w”是未声明的。有人对此有经验吗?

    3 回复  |  直到 15 年前
        1
  •  11
  •   Jarret Hardie    15 年前

    当构建工具找不到PostgreSQL库时,就会出现这种错误。它意味着三件事之一:

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

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

    3. 不过,更常见的是,这意味着您已经在系统上构建了postgres,只需要指导psycopg2如何找到 pg_config 二进制文件,以便它可以配置编译。要么:

      a.将pg_config的路径放在shell路径中(通常在 /usr/local/pgsql/bin/ 如果使用默认值从源代码构建Postgres。

      b.或编辑 setup.cfg psycopg2源文件夹中的文件,并提供 PGY-CONFIG 在开始的那一行 pg_config= . 请确保通过删除前面的哈希符号取消对此行的注释。如果使用默认值构建postgres,那么该行将如下所示:

      pg_config=/usr/local/pgsql/bin/pg_config

        2
  •  3
  •   Tim Cooper    10 年前

    在雪豹身上使用MacPorts

    pg_config=/opt/local/lib/postgresql90/bin/pg_config
    
        3
  •  0
  •   ThatAintWorking    10 年前

    我只需要在virtualenv中安装psycopg2库,而不需要将它添加到根python中,而且我不想在本地机器上完全安装postgresql,所以我提出了这个解决方案,它看起来非常有效。

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

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

    导出路径=$path:/applications/postgres.app/contents/versions/9.3/bin

    1. 激活virtualenv:

    . Myvenv/bin/激活

    1. pip安装psycopg2

    我试过设置pg_config变量,但没用。pip安装程序特别告诉我必须将pg_config所在的目录放在路径中。

    我也有点喜欢这个解决方案,因为如果我想在本地运行PostgreSQL,我可以很容易地启动应用程序,然后在完成后关闭它,然后它就消失了——没有什么东西留在后台运行。没有系统配置更改或任何更改。这是运行PostgreSQL进行本地开发或快速演示的好方法。