Python 2.7 无法识别psycopg2模块

Python 2.7 无法识别psycopg2模块,python-2.7,module,psycopg2,Python 2.7,Module,Psycopg2,我已经定义了一个模块,它使用psycopg2模块从数据库中查询一些东西 当我将此模块导入代码时,由于某些原因,名称错误:namererror:未定义全局名称“psycopg2” 模块查询为: import psycopg2 import pandas as pd def queryRedshift(query): conn_string = """db details""" conn = psycopg2.connect(conn_string)

我已经定义了一个模块,它使用psycopg2模块从数据库中查询一些东西

当我将此模块导入代码时,由于某些原因,名称错误:
namererror:未定义全局名称“psycopg2”

模块查询为:

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

我也这么认为,但当我在本地定义queryRedshift函数时,它工作得很好。。。