Приложению Python Flask не удалось подключиться к базе данных красного смещения - PullRequest
0 голосов
/ 20 октября 2018

Моему простому приложению на флеш-питоне не удалось подключиться к базе данных красного смещения.Зарегистрированная ошибка:

psycopg2.OperationalError: не удалось создать контекст SSL: в библиотеке нет шифров. FATAL: нет записи pg_hba.conf для хоста ":: ffff: 0.0.0.0", пользователь "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()
  • ubuntu v12
  • Версия Python: 3.4
  • psycopg2 == 2.7.5
  • psycopg2-binary == 2.7.5
  • Колба == 1.0.2

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Наконец, следующие установки устранили проблему.

sudo apt-get install  libpq-dev python-dev
sudo apt-get install python3-psycopg2

После этой установки я переустановил psycopg2

pip3 install psycopg2

Я не знаю теорию этого исправления, почему и как оно работает.

0 голосов
/ 20 октября 2018

Попробуйте собрать psycopg2 из источника

pip install -r requirements.txt

В требованиях.txt

psycopg2==2.7.5 --no-binary :all:
...