Сервер Django + sql - нет модуля с именем sql_server.pyodbc.base

Я хочу использовать SQL Server в качестве серверной части для Django.

Я устанавливаю pyodbc, django-pyodbc, django-pyodbc-azure

В settings.py я заменяю базу данных

DATABASES = {
    'default': {
            'ENGINE': 'sql_server.pyodbc',
            'NAME': 'xxx',
            'USER': 'xxx',
            'PASSWORD': 'xxx',
            'HOST': 'xxx.database.windows.net',
            'PORT': '1433',
            'OPTIONS': {
                'driver': 'SQL Server Native Client 11.0',
                'MARS_Connection': 'True',
            }
        }
}

если я запускаю python manage.py syncdb Ошибка:

django.core.exceptions.ImproperlyConfigured: 'sql_server.pyodbc' isn't an available database backend. Available options are: 'dummy', 'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sql_server', 'sqlite3'
Error was: No module named sql_server.pyodbc.base

Я использую Visual Studio + Python 2.7.


person Michael Podgortsev    schedule 31.12.2015    source источник


Ответы (1)


Вы можете следовать этой документации https://azure.microsoft.com/en-us/documentation/articles/web-sites-python-ptvs-django-sql/. Инструменты Python для Visual Studio упрощают задачу; тем не менее, даже если вы их не используете, документация покажет вам, как они это делают, как они устанавливают pyodbc локально, а затем передают его на сервер во время публикации.

Обратите внимание, что хотя в Azure есть 64-разрядные виртуальные машины, среда Python должна быть 32-разрядной.

person benjguin    schedule 31.12.2015
comment
Это то, что я делаю. В визуальной студии на шаге python -> django sync db -> ошибка: Неизвестная команда: «syncdb» Введите «manage.py help» для использования. Процесс Python REPL завершился - person Michael Podgortsev; 31.12.2015
comment
вы в 32 битах, как описано в документации? - person benjguin; 31.12.2015
comment
Нет, я думаю, это моя проблема. Спасибо. Вы знаете, как я могу установить pip pyodbc для 64-битной версии? - person Michael Podgortsev; 31.12.2015
comment
инструменты python для Visual Studio позволяют устанавливать с помощью pip и easy_install в любой виртуальной среде. Это самый простой способ установить pip. - person benjguin; 31.12.2015
comment
Я отредактирую ответ с учетом важности 32 бит. Если вы считаете, что это отвечает на ваш вопрос, и как только ваша проблема будет решена, можете ли вы проверить это как ответ? - person benjguin; 31.12.2015
comment
Обратите внимание, что не следует устанавливать pyodbc, django-pyodbc И django-pyodbc-azure. Все, что вам нужно, это pyodbc и django-pyodbc-azure. - person FlipperPA; 31.12.2015
comment
Этот ответ действительно удивителен, моя проблема заключалась также в том, что моя среда Visual Studio Python 3.6 была 64-битной. Как только я перешел на новую 32-битную среду, моя проблема была решена. - person Scornwell; 09.08.2017