psycopg2 模块无法识别
Posted
技术标签:
【中文标题】psycopg2 模块无法识别【英文标题】:psycopg2 module is not recognised 【发布时间】:2016-07-08 09:30:53 【问题描述】:我已经定义了一个模块,它使用 psycopg2 模块从 db 中查询一些东西。
当我将此模块导入我的代码时,由于某种原因名称错误:NameError: global name 'psycopg2' is not defined
模块查询是:
import psycopg2
import pandas as pd
def queryRedshift(query):
conn_string = """db details"""
conn = psycopg2.connect(conn_string)
cursor = conn.cursor()
cursor.execute(query)
records = cursor.fetchall()
data = pd.DataFrame(records)
data.columns = [desc[0] for desc in cursor.description]
conn.rollback()
cursor.close()
return data
和实施:
import queryrs as qrs
import pandas as pd
import numpy as np
query = """Some query"""
df = qrs.queryRedshift(query)
【问题讨论】:
【参考方案1】:我知道这是一个很长的镜头,但是当我将 psycopg2 安装到 Python3 安装而不是 Python2 时,我遇到了同样的问题。反之亦然。您可能想检查模块的实际位置。
【讨论】:
我也是这么想的,但是当我在本地定义 queryRedshift 函数时效果很好......【参考方案2】:如果您使用的是 anaconda 并且 Python 版本为 3.8 或更高,则以下代码有效:
conda install -c anaconda psycopg2
【讨论】:
以上是关于psycopg2 模块无法识别的主要内容,如果未能解决你的问题,请参考以下文章
Python模块发布构建安装到Python本地副本中,在终端键入 sudo python3 setup.py install。无法识别sudo