【问题标题】:psycopg2 module is not recognisedpsycopg2 模块无法识别
【发布时间】: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)

【问题讨论】:

    标签: python-2.7 module psycopg2


    【解决方案1】:

    我知道这是一个很长的镜头,但是当我将 psycopg2 安装到 Python3 安装而不是 Python2 时,我遇到了同样的问题。反之亦然。您可能想检查模块的实际位置。

    【讨论】:

    • 我也是这么想的,但是当我在本地定义 queryRedshift 函数时效果很好......
    【解决方案2】:

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

    conda install -c anaconda psycopg2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 2021-11-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      • 2017-02-03
      相关资源
      最近更新 更多