错误:无法从“10.4”确定 PostgreSQL 版本

Posted

技术标签:

【中文标题】错误:无法从“10.4”确定 PostgreSQL 版本【英文标题】:Error: could not determine PostgreSQL version from "10.4" 【发布时间】:2018-12-09 15:46:04 【问题描述】:

命令 python setup.py egg_info 的完整输出:正在运行 egg_info 创建 pip-egg-info/psycopg2.egg-info 写作 pip-egg-info/psycopg2.egg-info/PKG-INFO 将***名称写入 pip-egg-info/psycopg2.egg-info/top_level.txt 写入dependency_links 到 pip-egg-info/psycopg2.egg-info/dependency_links.txt 写作 清单文件 'pip-egg-info/psycopg2.egg-info/SOURCES.txt' 错误: 无法从 '10.4' 确定 PostgreSQL 版本

命令“python setup.py egg_info”失败,在/tmp/pip-install-lR9u0X/psycopg2/中出现错误代码1

有谁知道问题出在哪里?尝试在 virtualenv 中运行 pgadmin,但由于此错误而无法弄清楚。

【问题讨论】:

您使用的是什么操作系统?您可能需要将您的 libpq 升级到较新的版本。 debian 9 stretch 和 libpq 已经在最新版本上。 libpq-dev 已经是最新版本(10.4-2.pgdg90+1)。 您是否锁定了 psycopg2 的版本?你可以使用pip3 install psycopg2-binary 来避免构建吗? 没有我没有锁定,它没有任何区别同样的问题 是的,pgadmin3/stretch-pgdg 1.22.2-4.pgdg90+1 amd64pgadmin4/stretch-pgdg 3.1-1.pgdg90+1 amd64 将使用无法与 postgres 10 一起使用的旧版本。您必须安装 pgadmin 的非软件包版本。 【参考方案1】:

我的解决方案:

$wget https://files.pythonhosted.org/packages/51/2f/48c3bda0b629f6e6b2c0dc57d737f2612389d2c43797209034c604349b71/redshift-sqlalchemy-0.4.tar.gz

$ tar -zxvf redshift-sqlalchemy-0.4.tar.gz

将 requires.txt 中的 psycopg2==2.5 更改为 psycopg2 (2.7.6.1)

$vi redshift-sqlalchemy-0.4/redshift_sqlalchemy.egg-info/requires.txt

.......

psycopg2==2.7.6.1

SQLAlchemy>=0.8.0

..................

在 setup.py psycopg2 中更改

$vi redshift-sqlalchemy-0.4/setup.py

改变

.......

install_requires=['psycopg2==2.5', 'SQLAlchemy>=0.8.0'],

.......

.......

install_requires=['psycopg2==2.7.6.1', 'SQLAlchemy>=0.8.0'],

运行手动 pip 安装

$ pip install -r redshift-sqlalchemy-0.4/redshift_sqlalchemy.egg-info/requires.txt file:///home/etl/redshift-sqlalchemy-0.4/

【讨论】:

【参考方案2】:

更高版本的 psycopg2 为我解决了这个问题,请将您的 requirements.txt 更新为:

...
psycopg2==2.7.5
...

【讨论】:

谢谢。 Heroku 抛出了一堆错误,这就是修复它的错误。 psycopg2==2.7 开始也可以完成这项工作。

以上是关于错误:无法从“10.4”确定 PostgreSQL 版本的主要内容,如果未能解决你的问题,请参考以下文章

如何从错误消息中确定 PostgreSQL 错误代码

PostgreSQL(zip)在Windows上安装

Hibernate的Postgresql`无法确定参数的数据类型`

PL/pgSQL 函数在 pgAdmin 之外无法正确运行

将文件从 PostgreSQL 导入到 R

PHP PostgreSQL PDO 无法使用 LIKE 绑定参数