错误:无法从“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 amd64
和 pgadmin4/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 版本的主要内容,如果未能解决你的问题,请参考以下文章