[PYTHON] [Django] So beheben Sie Fehler bei der Installation von mysqlclient

Umgebung

Windows 10 Home Python 3.8.1 Django 3.0.7

Fehlerinhalt

Wenn ich mysqlclient installiere, das für Django 2.2 und höher empfohlen wird, wird der folgende lange Fehler angezeigt:

(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:Include-Datei kann nicht geöffnet werden.'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.

Lösungen

[Download] & installieren Sie die für Ihre Umgebung geeignete whl-Datei (https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient)

In meinem Fall war es mysqlclient- 1.4.6-cp38-cp38-win32.whl.

Wechseln Sie in das heruntergeladene Verzeichnis und führen Sie den folgenden Befehl aus

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)

Nachdem die Installation abgeschlossen ist, installieren Sie sie mit pip install mysqlclient und es wird angezeigt, dass sie bereits vorhanden ist.

Recommended Posts

[Django] So beheben Sie Fehler bei der Installation von mysqlclient
So lösen Sie den CSRF-Schutz bei Verwendung von AngularJS mit Django
Umgang mit Fehlern bei der Installation von Whitenoise und der Bereitstellung auf Heroku
Umgang mit Fehlern bei der Installation von Python und Pip mit Choco
Umgang mit Fehlern beim Auftreffen auf pip pip
So beheben Sie SSL-Modulfehler in einer Anaconda-Umgebung
So aktualisieren Sie Benutzerinformationen bei der Django RemoteUserMiddleware-Anmeldung
[Django] So testen Sie Form [TDD]
Fehler im Zusammenhang mit Memcached in Django
[Django-Memo] Fehler bei der Installation von Modal
So fügen Sie sudo hinzu, wenn Sie das Debug ausführen
Wie man CSS in Django reflektiert
Umgang mit dem DistributionNotFound-Fehler
Wie fange ich mit Django an?
Wie schreibe ich Django1.9 umweltunabhängig wsgi.py
[Tipps] Die Vorgehensweise beim Erstellen von HTML mit Django wird erweitert
So führen Sie eine arithmetische Verarbeitung mit der Django-Vorlage durch
Versuch eines relativen Imports über das Top-Level-Paket hinaus und wie man es löst, wenn man wütend ist
So überprüfen Sie die Version von Django
Wie bekomme ich IP bei Tornado + Nginx
So löschen Sie abgelaufene Sitzungen in Django
Lösung für Fehler, die bei der Bereitstellung in Heroku auftreten
Umgang mit Enum-Kompatibilitätsfehlern
So führen Sie vom Server gesendete Ereignisse in Django durch
Hinzufügen einer Pre-Save-Verarbeitung beim Hinzufügen eines Objekts auf der Django-Verwaltungssite
So starten Sie Python (Flask) beim Start von EC2
So implementieren Sie Rails-Helfer-ähnliche Funktionen in Django
So stellen Sie Djangos DB auf mongodb visual studio 2019 ein
So entwickeln Sie eine Cart-App mit Django
So reflektieren Sie ImageField in Django + Docker (Kissen)
[Django] So erhalten Sie Daten durch Angabe von SQL.
Umgang mit Laufzeitfehlern in subprocess.call
So drucken Sie Debug-Meldungen auf der Django-Konsole
So beheben Sie, wenn der Terminaleingang abnormal wird
So implementieren Sie "named_scope" von RubyOnRails mit Django
Wie man sich erinnert, wenn man ein Wort vergisst
So erstellen Sie eine Rest-API in Django
Wenn ich versuche, mysqlclient mit Django zu installieren, wird die Fehlermeldung angezeigt: Befehl 'gcc' ist mit dem Exit-Status 1 fehlgeschlagen.
[Python] [Django] Verwendung des Auswahlfelds und Hinzufügen von Optionen
So erhalten Sie mehrere Modellobjekte zufällig in Django
[Ansible] Verwendung der SSH-Kennwortauthentifizierung bei der Ausführung von ansible
Hinweise zur Verwendung beim Kombinieren von pandas.DataFrame
Schritte von der Installation von Django bis zur Anzeige der HTML-Seite
So stellen Sie eine Django-Anwendung in der Alibaba-Cloud bereit
So deaktivieren Sie die Referenzfunktion bei der Ausgabe von PyYaml
Verwendung des Azure Table-Speichers von Django (PTVS)
Zugriff mit dem Cache beim Lesen von_json mit Pandas
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Verwendung von Bootstrap in der generischen Klassenansicht von Django
Wenn Sie mit dem Django REST-Framework filtern möchten
Schritte von der Installation von Python 3 bis zur Erstellung einer Django-App
Beenden bei Verwendung von Python in Terminal (Mac)
Hochladen von Dateien in der generischen Klassenansicht von Django
Verwendung von Django mit Google App Engine / Python