这是这个问题:我尝试像这样安装mysqlclient
C:\ Users \ amccommon349> pip install mysqlclient收集mysqlclient使用缓存的https://files.pythonhosted.org/packages/ec/fd/83329b9d3e14f7344d1 cb31f128e6dbba70c5975c9e57896815dbb1988ad / mysqlclient-1.3.13.tar.gz
安装收集的包:mysqlclient
运行mysqlclient的setup.py安装...错误
Complete output from command c:\users\amccommon349\appdata\local\programs\python\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\AMCCOM~1\\AppData\\Local\\Temp\\pip-install-qcgo48hf\\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\AMCCOM~1\AppData\Local\Temp\pip-record-q4yoftj8\install-record.txt --single-version-externally-managed --compile:
c:\ users \ amccommon349 \ appdata \ local \ programs \ python \ python36 \ lib \ distutils \ d ist.py:261:UserWarning:Unknown distribution options:'long_description_content_ type'
warnings.warn(msg)
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
copying _mysql_exceptions.py -> build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\__init__.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\compat.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\connections.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\converters.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\cursors.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\release.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\times.py -> build\lib.win-amd64-3.6\MySQLdb
creating build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\__init__.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\CR.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\ER.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\FLAG.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\REFRESH.py -> build\lib.win-amd64-3.6\MySQLdb\constants
运行build_ext
building '_mysql' extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe /c/nologo/Ox /W3 /GL /DNDEBUG /MD -Dversion_info=(1,3,13,'final',0) -D__version__=1.3.13 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include" -Ic:\users\amccommon349\appdata\local\programs\python\python36\include -Ic:\users\amccommon349\appdata\local\programs\python\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\ProgramFiles (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /Tc_mysql.c /Fobuild\temp.win-amd64-3.6\Release\_mysql.obj /Zl
_mysql.c
_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\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
我确保我拥有visual studio构建工具所需的所有文件,我下载了mysql-python连接器,并更新了我的pip和设置工具。我是一个完整的初学者,并将感谢任何关于如何修复此错误的输入。
您可以使用https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient.Then为您的python版本下载非官方的Windows二进制文件。这样你就可以避免处理visual studio构建工具的麻烦。
只需下载最适合您的mysqlclient.whl文件。我认为在你的情况下它会是
的mysql-1.3.13-CP36-cp36m-win_amd64.whl
并运行
pip install "path to the downloaded .whl file"
尝试在64位环境中安装python32的mysqlclient时会发生此错误。卸载python并重新安装64位版本。然后pip install mysqlclient将运行没有错误。
这是Windows 10上64位版本的python的问题。以下修复了我的问题。
在此之后,我能够使用pip install mysqlclint
安装mysqlclient。
希望有人会提出一个更好的解决方案,不需要降级到32位,因为这不是一个好的解决方案,它只是有效。我找到了解决mysql问题的方法,但在尝试安装频道时又遇到了问题。似乎python 64位正在寻找32位库而不是Windows上的64位库。到目前为止,这个解决方案已经解决了我在Windows上的所有python构建问题。
我有这个问题(完全相同的错误),并尝试了上面提到的所有解决方案,并且它们都没有工作(至少对我来说),实际上我正在解决这个问题,直到我发现解决方案非常奇怪,简单而愚蠢的方式!! 。
我做了以下步骤,以便解决问题,让生活再次变得甜美。
首先我从MySQL Connector/C
安装了here
第二个(安装完成后)我将MySQL Connector C 6.1
文件夹从Program files/MySQL
复制到Program files (x86)/MySQL
请注意,如果MySQL
中不存在Program files (x86)
文件夹,则可能必须创建mysqlclient
文件夹(它对我来说不存在)
就这么简单,它对我有用,似乎对于某些(或所有)64位窗口,点或更多可能Program files (x86)
安装脚本只搜索Program files
文件夹中的某些MySQL文件(例如'mysql.h')并且没有'搜索Program files (x86)
,因为在pip install mysqlclient
没有找到任何东西引起错误非常愚蠢!不是吗
浪费了很多时间来解决这个错误,我发现至少对我有用的解决方案。
当我试图安装MYSQL客户端
pip install -U channels
第一个错误
MySQLdb / _mysql.c(29):致命错误C1083:无法打开包含文件:'mysql.h':没有这样的文件或目录
并且还尝试安装Django频道
https://visualstudio.microsoft.com/downloads/
第二个错误
错误:需要Microsoft Visual C ++ 14.0。使用“Microsoft Visual C ++构建工具”获取它:Microsoft Build Tools
下载构建工具:How to install/select required Build Tools
堆栈溢出:Python 64 bit 3.7.3
已安装的构建工具。 (快乐编码)
@Ralph Ritoch解决方案为我以及其他那些得到Mysql客户端错误的解决方案。
但我也安装了Django频道,所以我按照下面提到的步骤
跟着这些步骤
Other Stack solution to change dirctory
(注意)
MySQL连接器已经安装到x86目录中
将c:\ Program Files \ MySQL \ MySQL Connector C 6.0.2 \目录复制到c:\ Program Files(x86)\ MySQL \ MySQL Connector C 6.1 \
所以我没有改变MySQL Connector的目录。 (你也可以检查一下)
也许为你工作!
ERROR: Command errored out with exit status 1:
command: 'c:\users\myUserName\appdata\local\programs\python\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\MASTER~1\\AppData\\Local\\Temp\\pip-install-z7x81g2q\\mysqlclient\\setup.py'"'"'; __file__='"'"'C:\\Users\\MASTER~1\\AppData\\Local\\Temp\\pip-install-z7x81g2q\\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\MASTER~1\AppData\Local\Temp\pip-record-z1mvci5v\install-record.txt' --single-version-externally-managed --compile
cwd: C:\Users\MASTER~1\AppData\Local\Temp\pip-install-z7x81g2q\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\2019\BuildTools\VC\Tools\MSVC\14.21.27702\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -Dversion_info=(1,4,2,'post',1) -D__version__=1.4.2.post1 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include\mariadb" -Ic:\users\MyUserName\appdata\local\programs\python\python37-32\include -Ic:\users\MyUserName\appdata\local\programs\python\python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.21.27702\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /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\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.21.27702\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\MyUserName\appdata\local\programs\python\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\MASTER~1\\AppData\\Local\\Temp\\pip-install-z7x81g2q\\mysqlclient\\setup.py'"'"'; __file__='"'"'C:\\Users\\MASTER~1\\AppData\\Local\\Temp\\pip-install-z7x81g2q\\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\MASTER~1\AppData\Local\Temp\pip-record-z1mvci5v\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.
可能的原因
我们为什么会出错。
感谢所有发布解决方案的人。
很可能,这是我见过的最愚蠢的错误之一。 我有Python 3.7.3 32位以及最新的pip3,我正在为我的Python安装轮子....我偶然发现了这个STUPID错误.... 可能我的情况有点不同,但你可以通过仔细查看错误来解决它......起初看起来似乎有些东西丢失了,你开始责怪你,Windows,32 / 64bit,这个列表一直在继续...... 退后一步......退后一步,只是阅读讨厌的红色错误消息....阅读它真的很好。 就我而言
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.21.27702\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -Dversion_info=(1,4,2,'post',1) -D__version__=1.4.2.post1 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include\mariadb" -
你读得好吗?...我假设你拥有一切......构建工具,MySQL Connector C 6.1 ......你甚至把它移到Program Files(x86)......所以它错了...... ?? ... 现在仔细看看
"-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include\mariadb" -
我很确定你看到了......还没有?....让我为你加油吧
C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include\mariadb
C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\lib\mariadb
MariaDB的 好吧,它不能比这更愚蠢...安装程序查找mariadb包含和后来的libs只需转到mariadb站点并下载MariaDB C / C ++连接器并安装它... 好吧它没有结束..转到C:\ Program Files(x86)\ MySQL \ MySQL Connector C 6.1 \ include和create folder mariadb ...并从mariaDb连接器安装包含文件夹中复制粘贴内容 再次不要去...转到C:\ Program Files(x86)\ MySQL \ MySQL Connector C 6.1 \ lib并再次为lib文件夹执行相同的操作 所以你应该有
pip3 install mysqlclient
现在打了Successfully installed mysqlclient-1.4.2.post1
并享受安装没有唠叨...结束
python --
在命令行中,只需键入:
python --version
代替:
qazxswpoi
(这应显示有关该版本的更多详细信息,包括它是32位还是64位)