我的简单python烧瓶应用程序无法连接到Redshift数据库。记录的错误:
心理战2.操作错误:无法创建 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()
- 优麒麟 v12
- 蟒蛇版本:3.4
- psycopg2==2.7.5
- psycopg2-binary==2.7.5
- 烧瓶==1.0.2
尝试从源代码构建 psycopg2
pip install -r requirements.txt
包括要求.txt
psycopg2==2.7.5 --no-binary :all:
最后,以下安装解决了这个问题。
sudo apt-get install libpq-dev python-dev
sudo apt-get install python3-psycopg2
安装后,我重新安装了 psycopg2
pip3 install psycopg2
我不知道此修复程序背后的理论,为什么以及如何工作。