python - psycopg2:模块“psycopg2”没有属性“连接”
问题描述
我正在尝试使用 psycopg2 在 Python 中连接到 PostgreSQL,并且我将连接参数传递给psycopg2.connect()
函数,如下所示:
session = psycopg2.connect(
host="hostvalue", database="db_value", user="username", password="password"
)
但这会引发以下错误:
module 'psycopg2' has no attribute 'connect'
我已经在我的 mac 上安装了 psycopg2-binary,当我再次尝试使用 pip 安装它时很明显:
$ pip3 install psycopg2-binary
Requirement already satisfied: psycopg2-binary in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (2.8.4)
我真的不知道为什么我会看到这个错误。有人可以帮我吗?
解决方案
您可以尝试调用dir
模块并打印输出,如下所示:
import psycopg2, pprint
pprint.pprint(dir(psycopg2))
['BINARY',
'Binary',
'DATETIME',
'DataError',
'DatabaseError',
'Date',
'DateFromTicks',
'Error',
'IntegrityError',
'InterfaceError',
'InternalError',
'NUMBER',
'NotSupportedError',
'OperationalError',
'ProgrammingError',
'ROWID',
'STRING',
'Time',
'TimeFromTicks',
'Timestamp',
'TimestampFromTicks',
'Warning',
'__builtins__',
'__cached__',
'__doc__',
'__file__',
'__libpq_version__',
'__loader__',
'__name__',
'__package__',
'__path__',
'__spec__',
'__version__',
'__warningregistry__',
'_connect',
'_ext',
'_json',
'_psycopg',
'_range',
'apilevel',
'connect',
'extensions',
'paramstyle',
'threadsafety',
'tz',
'warn']
'connect'
如上所示,您应该会在列表中看到该方法。
推荐阅读
- django - django如何按名称获取上下文项
- android - 错误:在使用 AWS 放大时使用 apollo-codegen 包
- hyperlink - 我如何在表格中创建从一行到另一个仪表板的链接
- excel - 根据使用 VBA 的日期和日期列出所有行
- git - Git 合并失败。它正在删除不应该删除的文件
- c# - Asp.net core 2.1 UseHttpsRedirection 在 IIS 中不起作用
- unit-testing - Grails如何对异常执行单元测试
- php - Foreach 中的循环不保存所有数据
- php - 多表单验证 - Laravel
- facebook-javascript-sdk - 点击 fb-send-to-messenger 按钮后找到 psid