Django - ошибка установки mysqlclient: требуется mysqlclient 1.3.13 или новее; у тебя 0.9.3 - PullRequest
7 голосов
/ 12 апреля 2019

Я перебрал форумы, но не могу найти ответ или даже какую-либо документацию по этому вопросу.

При запуске команды:

python manage.py inspectdb

Я получаю ошибку:

mysqlclient 1.3.13 or newer is required; you have 0.9.3

Я перепробовал все предложенные исправления, в том числе: обновление пипа -установка другого колеса (32 бита вместо 64), а именно mysqlclient-1.4.2-cp37-cp37m-win32.whl с помощью команды pip install mysqlclient-1.4.2-cp37-cp37m-win32.whl (работает без ошибка, но работа не требуется!)

Моя цель - просто подключить устаревшую базу данных mysql (работающую внутри XAMPP и myphpadmin) к Django. Я следовал за документацией, которая пропускает необходимость установить mysqlclient, и застрял в этом пункте.

Ответы [ 5 ]

16 голосов
/ 02 мая 2019

Вот как я это исправил.

Перейдите в каталог установки django / db / backends / mysql. Проверьте свой путь в сообщении об ошибке.

Я использую pipenv, поэтому мой путь:

/ главная / имя пользователя / .local / доля / virtualenvs / проект-ENV / Библиотека / python3.7 / сайт-пакеты / Джанго / дб / бэкэнды / MySQL

Откройте файл base.py и найдите:

version = Database.version_info

Поместите pass в строку if и комментария:

повысить ImproperlyConfigured (требуется mysqlclient 1.3.13 или более поздней версии; у вас есть% s. % База данных. версия )

Вот так.

if version < (1, 3, 13):
   pass
   '''
   raise ImproperlyConfigured(
       'mysqlclient 1.3.13 or newer is required; you have %s.'
       % Database.__version__
   )
   '''

Сохраните, закройте этот файл и откройте файл operations.py.

Искать:

query = query.decode(errors='replace')

и изменить декодирование для кодирования

query = query.encode(errors='replace')

Теперь попробуйте запустить сервер.

2 голосов
/ 15 июня 2019

У меня была та же проблема, что и при установке более низкой версии mysqlclient из-за pymysql .

ОС: Linux Mint 19.1

Python: 3.6.8

Джанго: 2.2.2

  1. Удаление mysqlclient: pip3 uninstall mysqlclient
  2. Удаление pymysql: pip3 uninstall pymysql
  3. Установить mysqlclient: pip3 install mysqlclient
0 голосов
/ 22 июля 2019

Вместо редактирования внутренней конфигурации попробуйте обновить версию mysqlclient

pip3 install -U mysqlclient
0 голосов
/ 26 июня 2019

У меня была похожая проблема, я получал

"django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 или более поздней версии; у вас 1.3.12."

Итак, я пошел на C:\Users\username\Envs\env\Lib\site-packages\django\db\backends\mysql, открыл base.py и изменил эту строку ...

if version < (1, 3, 13): 

на ...

if version < (1, 3, 10):

версия меньше моей, и она сработала.

0 голосов
/ 12 апреля 2019
  1. Установить колесо:

    колесо установки пипса

  2. Загрузите нужный файл отсюда: https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

  3. Перейдите в каталог загрузок (я думаю, это будет cd Downloads)

  4. Установить скачанный файл с: pip install <file name>

ВНИМАНИЕ !! Вы НЕ МОЖЕТЕ изменить имя загруженного .whl файла. Он содержит некоторую информацию о том, что требуется для установки.

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