Python模块psycopg2找不到参考

时间:2019-12-12 15:24:49

标签: python python-3.x psycopg2

我安装了psycopg2模块,因为我想将blob文件发送到数据库。但是我遇到了错误。

AttributeError: 'psycopg2.extensions.connection' object has no attribute 'execute'

这是我的代码,怎么了?

conn = psycopg2.connect(database='SECRET', user='SECRET',
                            password='SECRET', host='SECRET',
                            port=5432)
cursor = conn.cursor()
cursor.execute("SELECT gen_random_uuid();")
id = cursor.fetchone()[0]

drawing = open("cat.jpg", 'rb').read() 
conn.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", 
psycopg2.Binary(drawing)))
conn.commit()

2 个答案:

答案 0 :(得分:1)

第二个执行使用连接而不是游标。 替换此行:

conn.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", psycopg2.Binary(drawing)))

具有:

cursor.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", psycopg2.Binary(drawing)))

应该解决问题。

答案 1 :(得分:-1)

您应该在安装page之后安装软件包pip install psycopg2-binary,我引用

  

您还可以获得独立的软件包,不需要编译器或外部库