python - psycopg2 - ImportError:导入 _psycopg 时 DLL 加载失败:操作系统无法运行 %1
问题描述
我在 Windows 10 上使用 conda 安装了 psycopg2。
https://anaconda.org/anaconda/psycopg2
我是在一个干净的新 conda 环境(名为 wr)中完成的。
然后我尝试运行这个示例应用程序,但我收到了这个错误(见下文)。我不知道我可能做错了什么,因为这一切都很简单,而且我以一种干净的方式做到了。
任何想法如何解决这个问题?
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>
编辑:似乎他们在 2 年前为此打开了一个错误,他们只是关闭了它,完全忽略了它。
解决方案
您可以使用psycopg2-binary
library 而不是psycopg2
. 安装后的用法是一样的。
推荐阅读
- android - 在BottomSheetDialogFragment之间共享Viewmodel,正常Fragment不起作用(观察功能不触发)
- java - 是否可以从 FXML 设置按钮布局?
- c# - C# WinForm 自动调整文本框大小
- php - 我需要按字母顺序对对象数据进行排序
- r - 使用 as.data.table,得到错误“无法强制类”“integer64”“到 data.frame”
- python - 如何检查列表的更改
- python - ModuleNotFoundError:没有名为“google.appengine”的模块
- c# - 如何在 C# 中将字符串日期解析为英国文化?
- reactjs - 无法使用 React 获取 firebase 集合
- swift - 从 Tableview 中删除部分