[PYTHON] [Django] Comment résoudre les erreurs lors de l'installation de mysqlclient

environnement

Windows 10 Home Python 3.8.1 Django 3.0.7

contenu de l'erreur

Lorsque j'installe le mysqlclient recommandé pour Django 2.2 et supérieur, j'obtiens la longue erreur suivante:

(venv) C:\Development\django-project\django_project>pip install mysqlclient

python


Collecting mysqlclient
  Using cached mysqlclient-1.4.6.tar.gz (85 kB)
Using legacy setup.py install for mysqlclient, since package 'wheel' is not installed.
Installing collected packages: mysqlclient
    Running setup.py install for mysqlclient ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\development\django-project\venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Ryozo\\AppData\\Local\\Temp\\pip-install-qnbecfcr\\mysqlclient\\setup.py
'"'"'; __file__='"'"'C:\\Users\\Ryozo\\AppData\\Local\\Temp\\pip-install-qnbecfcr\\mysqlclient\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"')
;f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Ryozo\AppData\Local\Temp\pip-record-isgb1l1w\install-record.txt' --single-version-externally-managed --compile --install-headers
 'c:\development\django-project\venv\include\site\python3.8\mysqlclient'
         cwd: C:\Users\Ryozo\AppData\Local\Temp\pip-install-qnbecfcr\mysqlclient\
    Complete output (30 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.8
    creating build\lib.win32-3.8\MySQLdb
    copying MySQLdb\__init__.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\_exceptions.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\compat.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\connections.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\converters.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\cursors.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\release.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\times.py -> build\lib.win32-3.8\MySQLdb
    creating build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\__init__.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\CLIENT.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\CR.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\ER.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\FLAG.py -> build\lib.win32-3.8\MySQLdb\constants
    running build_ext
    building 'MySQLdb._mysql' extension
    creating build\temp.win32-3.8
    creating build\temp.win32-3.8\Release
    creating build\temp.win32-3.8\Release\MySQLdb
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Dversion_info=(1,4,6,'final',0) -D__version__=1.4.6 "-IC:\Pro
gram Files (x86)\MySQL\MySQL Connector C 6.1\include\mariadb" -Ic:\development\django-project\venv\include -IC:\Users\Ryozo\AppData\Local\Programs\Python\Python38-32\include -IC:\Users\Ryozo\AppData\Local\Programs
\Python\Python38-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include" /TcMySQLdb/_mysql.c /Fobuild\temp.win32-3.8\Release\MySQLdb/_mysql.obj /Zl /D_CRT_SEC
URE_NO_WARNINGS
    _mysql.c
    MySQLdb/_mysql.c(29): fatal error C1083:Impossible d'ouvrir le fichier d'inclusion.'mysql.h':No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.26.28801\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\development\django-project\venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Ryozo\\AppData\\Local\\Temp\\pip-instal
l-qnbecfcr\\mysqlclient\\setup.py'"'"'; __file__='"'"'C:\\Users\\Ryozo\\AppData\\Local\\Temp\\pip-install-qnbecfcr\\mysqlclient\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().repl
ace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Ryozo\AppData\Local\Temp\pip-record-isgb1l1w\install-record.txt' --single-version-externally-ma
naged --compile --install-headers 'c:\development\django-project\venv\include\site\python3.8\mysqlclient' Check the logs for full command output.

Solution

[Télécharger] et installer le fichier whl qui convient à votre environnement (https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient)

Dans mon cas, c'était mysqlclient- 1.4.6-cp38-cp38-win32.whl.

Accédez au répertoire téléchargé et exécutez la commande suivante

python


(venv) C:\Development\django-project>pip install mysqlclient-1.4.6-cp38-cp38-win32.whl
Processing c:\development\django-project\mysqlclient-1.4.6-cp38-cp38-win32.whl
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.4.6

(venv) C:\Development\django-project>pip install mysqlclient
Requirement already satisfied: mysqlclient in c:\development\django-project\venv\lib\site-packages (1.4.6)

Maintenant que l'installation est terminée, installez-le avec pip install mysqlclient et il dira qu'il est déjà là.

Recommended Posts

[Django] Comment résoudre les erreurs lors de l'installation de mysqlclient
Comment résoudre la protection CSRF lors de l'utilisation d'AngularJS avec Django
Comment gérer les erreurs lors de l'installation de whitenoise et du déploiement sur Heroku
Comment gérer les erreurs lors de l'installation de Python et de pip avec choco
Comment gérer les erreurs en frappant pip ②
Comment résoudre les erreurs de module SSL dans l'environnement Anaconda
Comment mettre à jour les informations utilisateur sur Django RemoteUserMiddleware login
[Django] Comment tester le formulaire [TDD]
Erreur liée à memcached dans django
[Mémo Django] Échec lors de l'installation de modal
Comment ajouter sudo lors de l'exécution du débogage
Comment refléter CSS dans Django
Comment gérer l'erreur DistributionNotFound
Comment démarrer avec Django
Comment écrire un fichier wsgi.py indépendant de l'environnement Django1.9
[Astuces] Comment étendre le modèle lors de la création de HTML avec django
Comment effectuer un traitement arithmétique avec le modèle Django
tentative d'importation relative au-delà du package de niveau supérieur et comment résoudre en cas de colère
Comment vérifier la version de Django
Comment obtenir une adresse IP lorsque Tornado + nginx
Comment supprimer des sessions expirées dans Django
Solution aux erreurs qui se produisent lors du déploiement sur Heroku
Comment gérer les erreurs de compatibilité d'énumération
Comment faire des événements envoyés par le serveur dans Django
Comment ajouter un traitement de pré-sauvegarde lors de l'ajout d'un objet sur le site d'administration de Django
Comment démarrer Python (Flask) au démarrage d'EC2
Comment implémenter la fonctionnalité de type helper Rails dans Django
Comment définir la base de données de Django sur Mongodb Visual Studio 2019
Comment développer une application de panier avec Django
Comment refléter ImageField dans Django + Docker (oreiller)
[Django] Comment obtenir des données en spécifiant SQL.
Comment gérer les erreurs d'exécution dans subprocess.call
Comment imprimer des messages de débogage sur la console Django
Comment réparer lorsque l'entrée du terminal devient anormale
Comment implémenter "named_scope" de RubyOnRails avec Django
Comment se souvenir quand on oublie un mot
Comment créer une API Rest dans Django
Quand j'essaye d'installer mysqlclient avec Django, j'obtiens l'erreur: la commande 'gcc' a échoué avec l'état de sortie 1.
[Python] [Django] Comment utiliser le champ de choix et comment ajouter des options
Comment obtenir plusieurs objets de modèle au hasard dans Django
[Ansible] Comment utiliser l'authentification par mot de passe SSH lors de l'exécution d'ansible
Remarques sur la façon d'utiliser lors de la combinaison de pandas.
Étapes de l'installation de Django à l'affichage de la page html
Comment déployer une application Django dans le cloud Alibaba
Comment désactiver la fonction de référence lors de la sortie de PyYaml
Comment utiliser le stockage Azure Table de Django (PTVS)
Comment accéder avec cache lors de la lecture_json avec pandas
Comment créer un environnement Django (python) sur Docker
Comment utiliser le bootstrap dans la vue de classe générique Django
Lorsque vous souhaitez filtrer avec le framework Django REST
Étapes de l'installation de Python 3 à la création d'une application Django
Comment quitter lors de l'utilisation de Python dans Terminal (Mac)
Comment télécharger des fichiers dans la vue de classe générique Django
Comment utiliser Django avec Google App Engine / Python