我正在尝试使用psycopg2连接到postgres数据库:
import psycopg2
try:
conn = psycopg2.connect("dbname='puppetdb' user='puppetdb' host='172.17.0.1' port='5432' password='puppetdb'")
except Exception, e:
print "I am unable to connect to the database"
print e
返回:
I am unable to connect to the database
'module' object has no attribute 'connect'
我确保psycopg2与pip install psycopg2
一起安装,看起来这应该符合documentation。
我这样做错了吗?
答案 0 :(得分:7)
对我而言,这是因为我正在将一个zip上传到AWS lambda并且不是递归地压缩该文件夹,即more /etc/hosts
127.0.0.1 localhost kafka
而不是zip lambda.zip *
。所以模块文件夹是空的。
答案 1 :(得分:5)
这可能是影子名称问题。
如果您的文件名为psycopg2.py,或者您在该目录中有psycopg2.py/psycopg2.pyc文件,那么它将通过实际的pyscopg2模块导入您的脚本。
如果是这个问题,请将您的文件重命名为其他内容。
答案 2 :(得分:-1)
导入psycopg2#Acc sPostgreSQL import psycopg2.extras #Goodies PostgreSQL
尝试: conn = psycopg2.connect(“dbname ='puppetdb'user ='puppetdb'host ='172.17.0.1'port ='5432'password ='puppetdb'”)
除了psycopg2.Error为e: print(“我无法连接到数据库”) 打印(e)中