无法识别 psycopg2 模块



我定义了一个使用 psycopg2 模块从数据库查询某些内容的模块。

当我将此模块导入我的代码时,由于某种原因名称错误: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)
我知道这是一个

很长的机会,但是当我将psycopg2安装到Python3而不是Python2时,我遇到了同样的问题。反之亦然。您可能需要检查模块的实际位置。

如果您使用的是 anaconda 并且拥有 python 版本 3.8 或更高版本,则以下代码有效:

conda install -c anaconda psycopg2

最新更新