我有一个使用 postgres 的 python 应用程序,并且在基于 python 3.7.3 的 conda 环境中运行良好。 我正在尝试更新其 conda 环境以使用更新的 python 版本。 我通过重复运行应用程序来查找丢失的软件包并安装它们来构建新环境。 在新环境中执行此脚本:
导入psycopg2 conn = psycopg2.connect("dbname='template1' user='dbuser' 主机='localhost' 密码='dbpass'")
生产: 双自由或腐败(出) 中止(核心转储) 在连接中。
postgres版本是10。 我每次运行时都会在 /var/log/postgressql/postgresql-10-main.log 中看到以下内容: 2023-12-07 10:05:52.855 GMT [6618] [未知]@[未知] 致命:启动数据包中未指定 PostgreSQL 用户名
psycopg2.版本 '2.9.9(dt dec pq3 ext lo64)' 蟒蛇——版本 Python 3.11.6
无论用户名是否正确,都不应导致核心转储。 任何帮助表示赞赏。
我遇到了同样的问题,我的解决方法是将 openssl 从 3.2.0 降级到 3.1.4:
conda install openssl=3.1.4
不知道为什么会发生这种情况,也许有人有更多细节。