当我尝试打开与 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:
我能想到的一个问题是您的安装可能没有正确链接/构建以使用 openssl。如果您还没有尝试过文档中列出的软件包,也许您可以尝试一下。
当我查看文档时:
微软视窗:
Jason Erickson 维护着一个打包的 Psycopg Windows 端口以及安装可执行文件。下载。双击。完成。
所以你可以尝试从那里安装它。或者,您可以尝试 pip 友好的 windows 友好的(注意:我自己没有尝试过)psycopg2-windows 包。
我在 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