Python psycopg2-ImportError:导入时DLL加载失败\u psycopg:操作系统无法运行%1
我在Windows 10上使用conda安装了psycopg2 我是在一个干净的新康达环境(名为wr)中完成的 然后,我尝试运行此示例应用程序,但出现了此错误(请参见下文)。 我不知道我可能做错了什么,因为这一切都是直截了当的,而且我做得很干净 有什么办法解决这个问题吗Python psycopg2-ImportError:导入时DLL加载失败\u psycopg:操作系统无法运行%1,python,anaconda,conda,psycopg2,Python,Anaconda,Conda,Psycopg2,我在Windows 10上使用conda安装了psycopg2 我是在一个干净的新康达环境(名为wr)中完成的 然后,我尝试运行此示例应用程序,但出现了此错误(请参见下文)。 我不知道我可能做错了什么,因为这一切都是直截了当的,而且我做得很干净 有什么办法解决这个问题吗 import psycopg2 try: connection = psycopg2.connect(user = "***",
import psycopg2
try:
connection = psycopg2.connect(user = "***",
password = "***",
host = "***",
port = "5432",
database = "***")
cursor = connection.cursor()
# Print PostgreSQL Connection properties
print ( connection.get_dsn_parameters(),"\n")
# Print PostgreSQL version
cursor.execute("SELECT version();")
record = cursor.fetchone()
print("You are connected to - ", record,"\n")
except (Exception, psycopg2.Error) as error :
print ("Error while connecting to PostgreSQL", error)
finally:
#closing database connection.
if(connection):
cursor.close()
connection.close()
print("PostgreSQL connection is closed")
VS代码中的错误:
PS C:\Work\WRR\git\tools\JTunnelTestApp> cd 'c:\Work\WRR\git\tools\JTunnelTestApp'; & 'C:\Programs\Anaconda3\envs\wr\python.exe' 'c:\Users\petrop01\.vscode\extensions\ms-python.python-2020.9.114305\pythonFiles\lib\python\debugpy\launcher' '56143' '--' 'c:\Work\WRR\git\tools\JTunnelTestApp\main.py'
Traceback (most recent call last):
File "c:\Work\WRR\git\tools\JTunnelTestApp\main.py", line 1, in <module>
import psycopg2
File "C:\Programs\Anaconda3\envs\wr\lib\site-packages\psycopg2\__init__.py", line 51, in <module>
from psycopg2._psycopg import ( # noqa
ImportError: DLL load failed while importing _psycopg: The operating system cannot run %1.
PS C:\Work\WRR\git\tools\JTunnelTestApp>
PS C:\Work\WRR\git\tools\jtuneltestapp>cd'C:\Work\WRR\git\tools\jtuneltestapp';&C:\Programs\Anaconda3\envs\wr\python.exe''C:\Users\petrop01\.vscode\extensions\ms python.python-2020.9.114305\pythonFiles\lib\python\debugpy\launcher''56143'--''C:\Work\WRR\git\tools\JTunnelTestApp\main.py'
回溯(最近一次呼叫最后一次):
文件“c:\Work\WRR\git\tools\jtuneltestapp\main.py”,第1行,在
导入psycopg2
文件“C:\Programs\Anaconda3\envs\wr\lib\site packages\psycopg2\\ uuuuu init\uuuuu.py”,第51行,在
来自psycopg2._psycopg导入(#noqa
导入错误:导入时DLL加载失败\u psycopg:操作系统无法运行%1。
PS C:\Work\WRR\git\tools\jtuneltestapp>
编辑:似乎他们在两年前为此打开了一个bug,他们只是关闭了它,完全忽略了它
您可以使用
psycopg2 binary
库,而不是psycopg2
。安装后,用法是相同的。对于我来说,更新到psycopg2和psycopg2 binary到2.8.6使用python3.8谢谢…我可以但…我应该吗?它能解决我的问题吗?这是在哪里记录的?我的意思是。。。我所做的一切都是照本宣科……那么为什么它失败得这么严重呢?还有,psycopg2二进制文件-它是什么?它似乎没有针对conda的特殊软件包。psycopg2需要在您的操作系统上安装一些dll文件。您可以手动安装它,也可以安装psycopg2二进制文件,它同时打包了库和dll文件les在一起。文档保存在psycopg2库文档中:直到现在我还没有使用conda,但我认为所有的pip包都可以在那里找到。安装(通过pip)和使用psycopg2二进制文件都很好。我尝试过。但不知道为什么anaconda包会损坏。