无法通过Pip在Windows上安装mysqlclient

时间:2020-05-23 10:30:19

标签: mysql django windows pip

我正在尝试安装mysqlclient并收到以下错误。

C:\Users\Yash Patel>pip install mysqlclient
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:\users\yash patel\appdata\local\programs\python\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\YASHPA~1\\AppData\\Local\\Temp\\pip-install-sc96zvsc\\mysqlclient\\setup.py'"'"'; __file__='"'"'C:\\Users\\YASHPA~1\\AppData\\Local\\Temp\\pip-install-sc96zvsc\\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\YASHPA~1\AppData\Local\Temp\pip-record-diaiyo1_\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\yash patel\appdata\local\programs\python\python37-32\Include\mysqlclient'
         cwd: C:\Users\YASHPA~1\AppData\Local\Temp\pip-install-sc96zvsc\mysqlclient\
    Complete output (30 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    creating build\lib.win32-3.7\MySQLdb
    copying MySQLdb\__init__.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\_exceptions.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\compat.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\connections.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\converters.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\cursors.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\release.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\times.py -> build\lib.win32-3.7\MySQLdb
    creating build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\__init__.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\CLIENT.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\CR.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\ER.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\FLAG.py -> build\lib.win32-3.7\MySQLdb\constants
    running build_ext
    building 'MySQLdb._mysql' extension
    creating build\temp.win32-3.7
    creating build\temp.win32-3.7\Release
    creating build\temp.win32-3.7\Release\MySQLdb
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Dversion_info=(1,4,6,'final',0) -D__version__=1.4.6 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include\mariadb" "-Ic:\users\yash patel\appdata\local\programs\python\python37-32\include" "-Ic:\users\yash patel\appdata\local\programs\python\python37-32\include" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /TcMySQLdb/_mysql.c /Fobuild\temp.win32-3.7\Release\MySQLdb/_mysql.obj /Zl /D_CRT_SECURE_NO_WARNINGS
    _mysql.c
    MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\yash patel\appdata\local\programs\python\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\YASHPA~1\\AppData\\Local\\Temp\\pip-install-sc96zvsc\\mysqlclient\\setup.py'"'"'; __file__='"'"'C:\\Users\\YASHPA~1\\AppData\\Local\\Temp\\pip-install-sc96zvsc\\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\YASHPA~1\AppData\Local\Temp\pip-record-diaiyo1_\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\yash patel\appdata\local\programs\python\python37-32\Include\mysqlclient' Check the logs for full command output.

1 个答案:

答案 0 :(得分:0)

您需要在设备上安装mysql客户端(实际的数据库客户端软件)。安装mysql客户端后,源文件将可供python编译mysqlclient python模块。

此模块有替代方法。您可以安装pymysql。但是,不建议将此模块用于生产目的。该模块是纯python,因此不会提供所需的性能。

如果使用pymylsq,则需要在manage.py上添加2行,以便可以使用runserver。

manage.py

import pymysql
pymysql.install_as_MySQLdb()

...
...