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
- Удалить mysqlclient:
pip3 uninstall mysqlclient
- Удалить pymysql:
pip3 uninstall pymysql
- Установите mysqlclient:
pip3 install mysqlclient
Ответ 3
Вместо того, чтобы редактировать внутреннюю конфигурацию, попробуйте обновить версию mysqlclient
pip3 install -U mysqlclient
Ответ 4
-
Установить колесо:
колесо установки пипа
-
Загрузите нужный файл отсюда: https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python.
-
Перейдите в каталог загрузок (я думаю, это будет cd Downloads
)
- Установите скачанный файл с помощью:
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
это все!