我的简单python flask应用程序无法连接到redshift数据库。记录的错误:
psycopg2.OperationalError:无法创建SSL上下文:库具有 没有密码致命:主机“ :: ffff:0.0.0.0”没有pg_hba.conf条目, 用户“ admin”,数据库“ redshiftdb”,SSL关闭
但是当我尝试使用不带烧瓶的简单python(simple.py)进行相同连接时,效果很好。
import psycopg2
conn = psycopg2.connect(database="redshiftdb", user = "admin", password = "admin!pwd", host = "remotehost", port = "5439")
print ("Opened database successfully")
,但是对于烧瓶而言,它不起作用( init .py)。
from flask import Flask
import psycopg2
@app.route("/service")
def service():
conn = psycopg2.connect(database="redshiftdb", user = "admin", password = "admin!pwd", host = "remotehost", port = "5439")
return "Service is running!"
if __name__ == "__main__":
app.run()
答案 0 :(得分:2)
尝试从源代码构建psycopg2
pip install -r requirements.txt
包含在requirements.txt中
psycopg2==2.7.5 --no-binary :all:
答案 1 :(得分:0)
最后进行的安装解决了该问题。
sudo apt-get install libpq-dev python-dev
sudo apt-get install python3-psycopg2
此安装后,我重新安装了psycopg2
pip3 install psycopg2
我不知道此修复程序背后的理论,原因以及工作原理。