Django - ошибка установки mysqlclient: требуется mysqlclient 1.3.13 или новее; у тебя 0.9.3

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

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

python manage.py inspectdb

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

mysqlclient 1.3.13 or newer is required; you have 0.9.3

Я перепробовал все предложенные исправления, включая: -upgrading pip -installing другое колесо (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, и застрял в этом пункте.

Ответ 1

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

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

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

/home/username/.local/share/virtualenvs/project-env/lib/python3.7/site-packages/django/db/backends/mysql

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

version = Database.version_info

Поместите пропуск в строку if и comment:

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

Как это.

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

У меня была та же проблема, что была установлена более низкая версия 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

Ответ 3

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

pip3 install -U mysqlclient

Ответ 4

  1. Установить колесо:

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

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

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

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

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

Ответ 5

Просьба/может кто-нибудь помочь мне, где я могу найти этот каталог в Ubuntu --- Перейдите в каталог установки django/db/backends/mysql. Проверьте свой путь в сообщении об ошибке. ---- Я хочу попробовать это решение, но я не могу исправить первый крутой

Ответ 6

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

"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):

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

Ответ 7

Если это не критично для вас, как вариант, просто понизьте django framework с 2.2.2 (например) до 2.1.

Ответ 8

эта проблема возникает при создании проекта Django в pycharm по умолчанию. Это вызвано тем, что версия django по умолчанию - 2.2.6, поэтому просто понизьте версию django до 2.1.7, и ошибка в терминале исчезнет.

pip install Django==2.1.7

это все!