我正在尝试安装包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"Psycopg需要PostgreSQL客户端库(libpq)> = 9.1"*
目前的环境已经有了python 2.4,我们安装了另一个版本3.5。现在两个版本都存在。
由于没有与外部网络的直接连接,我获得了psycopg2包的文件并使用setup.py进行安装
请建议,我在这里缺少什么,我该如何解决这个问题。
请注意,由于这是一个密切的环境,因此无法连接到Internet,因此无法使用PIP来安装软件包。我的主要目标是连接到postgres数据库。
这里的关键是
Psycopg requires PostgreSQL client library (libpq) >= 9.1
确保PATH上的第一个pg_config来自PostgreSQL 9.1或更高版本。
从文档:
Psycopg is a C wrapper around the libpq PostgreSQL client library. To install it from sources you will need:
The pg_config program: it is usually installed by the libpq-dev package but sometimes it is not in a PATH directory. Having it in the PATH greatly streamlines the installation, so try running pg_config --version
感谢@Laurenz的信息。 我查了一下。 在文档的相同先决条件下,它说当前的psycopg2实现支持: - 2.6到2.7的Python 2版本 - 从3.2到3.6的Python 3版本 - 从7.4到10的PostgreSQL服务器版本 - 来自9.1的PostgreSQL客户端库版本所以我 认为它应该与postgres 8.1一起使用
不,它不会。 8.1 <9.1。 您需要更高版本的客户端版本。 使用像这样的史前版本有什么想法? 您正在玩数据的生命。