在 psycopg2 中打开 postgres 连接会导致 python 崩溃

问题描述 投票:0回答:2

当我尝试打开与 postgres 数据库的连接时,收到以下错误消息。也许它与 OpenSSL 有关,但我无法理解错误消息。有人可以帮忙吗?

>>> import psycopg2
>>> conn = psycopg2.connect(host = '', port = , dbname
 = '', user = '', password = '')
Auto configuration failed
12848:error:02001015:system library:fopen:Is a directory:.\crypto\bio\bss_file.c
:169:fopen('D:/Build/OpenSSL/openssl-1.0.1h-vc9-x64/ssl/openssl.cnf','rb')
12848:error:2006D002:BIO routines:BIO_new_file:system lib:.\crypto\bio\bss_file.
c:174:
12848:error:0E078002:configuration file routines:DEF_LOAD:system lib:.\crypto\co
nf\conf_def.c:199:
python postgresql python-2.7 psycopg2
2个回答
2
投票

我能想到的一个问题是您的安装可能没有正确链接/构建以使用 openssl。如果您还没有尝试过文档中列出的软件包,也许您可以尝试一下。

当我查看文档时:

微软视窗:

Jason Erickson 维护着一个打包的 Psycopg Windows 端口以及安装可执行文件。下载。双击。完成。

所以你可以尝试从那里安装它。或者,您可以尝试 pip 友好的 windows 友好的(注意:我自己没有尝试过)psycopg2-windows 包。


0
投票

我在 MacOSX v14.1.1 上看到类似的问题:

>>> import psycopg2
>>> conn = psycopg2.connect(database="my-db",
...                         host="32.170.20.160",
...                         user="postgres",
...                         password="pass")

Python(16348,0x7ff8454d8b40) malloc: double free for ptr 0x7fcab3811c00
Python(16348,0x7ff8454d8b40) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6

安装 psycopg2-binary 解决了它:

python3 -m pip install psycopg2-binary
© www.soinside.com 2019 - 2024. All rights reserved.