【问题标题】:Installting psycopg2 package for python 3.5 on unix在 unix 上为 python 3.5 安装 psycopg2 包
【发布时间】:2018-07-14 23:08:56
【问题描述】:

我正在尝试安装包 psycopg2 以连接 postgres 数据库,但运行此命令时出现以下错误

python3.5 /usr/local/bin/psycopg2-2.7.3.2/setup.py 安装

*运行 build_ext 构建“psycopg2._psycopg”扩展 创建 build/temp.linux-x86_64-3.5 创建 build/temp.linux-x86_64-3.5/psycopg gcc*** 命令在这里 在 psycopg/psycopgmodule.c:27 包含的文件中: ./psycopg/psycopg.h:30:2: error: #error "Psycopg 需要 PostgreSQL 客户端库 (libpq) >= 9.1"*

当前环境已经有 python 2.4,我们安装了另一个版本 3.5。现在两个版本都存在。

由于没有与外部网络的直接连接,我得到了 psycopg2 软件包的文件并使用 setup.py 进行安装

请建议,我在这里缺少什么以及如何解决这个问题。 请注意,无法连接到互联网,因为这是一个封闭的环境,因此无法使用 PIP 安装包。我的主要目标是连接到 postgres 数据库。

【问题讨论】:

    标签: python python-3.x postgresql psycopg2 setup.py


    【解决方案1】:

    这里的关键是

    Psycopg 需要 PostgreSQL 客户端库 (libpq) >= 9.1

    确保PATH 上的第一个pg_config 来自PostgreSQL 9.1 或更高版本。

    来自the documentation

    Psycopg 是 libpq PostgreSQL 客户端库的 C 包装器。要从您需要的来源安装它:

    • pg_config 程序:它通常由 libpq-dev 包安装,但有时它不在 PATH 目录中。将它放在 PATH 中可以大大简化安装,因此请尝试运行 pg_config --version

    【讨论】:

    • 感谢@Laurenz 的信息。我检查了那个。在文档的相同先决条件下,它说当前 psycopg2 实现支持: - Python 2 版本从 2.6 到 2.7 - Python 3 版本从 3.2 到 3.6 - PostgreSQL 服务器版本从 7.4 到 10 - PostgreSQL 客户端库版本从 9.1 所以我认为它也应该适用于 postgres 8.1
    • 不,不会。 8.1
    猜你喜欢
    • 2015-04-21
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 2014-08-17
    • 2016-11-10
    • 2016-06-20
    • 2017-03-05
    相关资源
    最近更新 更多