Невозможно запустить Django + MS- SQL с Ubuntu и Python3 - PullRequest
0 голосов
/ 03 марта 2020

Я настраиваю свое приложение django на сервере linux с apache в качестве веб-сервера. Проект имеет ms- sql в качестве бэкэнда. Для подключения я установил следующие пакеты:

django-pyodbc==1.1.3
django-pyodbc-azure==2.1.0.0
django-mssql==1.8
pyodbc==4.0.26
sql-server.pyodbc==1.0

Ниже приведены настройки базы данных:

DATABASES = {
    "default": {
        "ENGINE": "sql_server.pyodbc",
        "NAME": "########", 
        "USER": "########",
        "PASSWORD": "########",
        "HOST": "########",
        "PORT": "########",
        "OPTIONS": {"driver": "ODBC Driver 17 for SQL Server"},
    }
}

Я зарегистрировался в своем терминале и требуемый драйвер также установлен

root@5b4341ff02e3:/# python3
Python 3.6.9 (default, Nov  7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc as py
>>> py.drivers()
['ODBC Driver 17 for SQL Server']
>>> exit()

Когда я пытаюсь запустить сервер, я сталкиваюсь с проблемой ниже:

File "/usr/local/lib/python3.6/dist-packages/sql_server/pyodbc/base.py", line 7
    except ImportError, e:
                      ^
SyntaxError: invalid syntax

Это синтаксическая ошибка, потому что sql_server.pyodb c записано в python2. Что странно, что он отлично работает на моей локальной машине.

Вы, ребята, сталкивались с этой проблемой? Есть ли обходной путь?

1 Ответ

0 голосов
/ 05 марта 2020

Я использовал Docker для создания этой настройки. Так как была python версия cla sh, я использовал виртуальную среду, которая по существу отвергает целиком docker

sudo apt-get install python3-venv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...