使用 Python 3.6.5 安装 MySQLdb 时出现问题:无法打开“mysql.h” - 并且无法打开:“config-win.h”:没有这样的文件或目录
Posted
技术标签:
【中文标题】使用 Python 3.6.5 安装 MySQLdb 时出现问题:无法打开“mysql.h” - 并且无法打开:“config-win.h”:没有这样的文件或目录【英文标题】:Issues installing MySQLdb with Python 3.6.5: Can't open 'mysql.h' - and Can't open : 'config-win.h': No such file or directory 【发布时间】:2018-12-09 15:58:39 【问题描述】:我正在尝试将 mysql 与 python SQLAlchemy 一起使用,但是 python 无法安装 MySQL,甚至无法识别它已安装。详情如下:
我在 Windows 10 64 位和 Anaconda Python 3.6.5 上运行它
我通过 MAMP 下载了 MySQL:Mac-Apace-MySQL-php https://www.mamp.info/en/
我已尝试在 VSC 和 Jupyter 上运行我的代码。
如果我尝试运行代码pip install mysqlclient
_mysql.c(29): 致命错误 C1083: 无法打开包含文件: 'mysql.h': 没有这样的文件或目录 错误:命令 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe' 失败,退出状态为 2
我试过pip install MySQL-python
,但得到了
_mysql.c _mysql.c(42):致命错误 C1083:无法打开包含文件:'config-win.h':没有这样的文件或目录 错误:命令 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe' 失败,退出状态为 2
我试过pip install MySQLdb
并得到:
收集 MySQLdb 找不到满足要求的版本 MySQLdb(来自版本:) 没有为 MySQLdb 找到匹配的分布
我尝试从实际的 Oracle 网站安装 MySQL,但没有成功
我尝试将 MySQL 连接器下载到 python:我明白了 未找到 python v3.6。我们只支持使用 MSI 的 python。
我在 SoF 上搜索过这个问题,但每个问题要么已经过时,要么针对该海报的案例而定制,老实说,我不知道从哪里开始。我已经读到这可能是一个配置问题,python 无法判断 MySQL 的位置,所以我需要自定义它的路径,但我没有技术深度来干预它,因为我担心我最终可能会变得更糟。
我衷心感谢您对此事的任何意见,因为我真的陷入困境并且不知道从这里去哪里。
【问题讨论】:
你有 MySQL 的开发头文件吗?这通常是一个单独的包,可能不随 MAMP 提供。 不,请告诉我更多信息 这就是mysql.h
和朋友的来源。在 Linux/macOS 上,这很简单,您只需安装正确的包,但我不确定 Windows 上的 MAMP 等价物是什么。关键是在尝试pip install
任何依赖它们的东西之前找到“开发标头”。
我试过开发头:dev.mysql.com/downloads/installer
Can't install mysql-python (newer versions) in Windows的可能重复
【参考方案1】:
使用precompiled binary whl file from Cristoph Golke。这比设置完整的开发环境来编译单个库要容易得多。
下载 .whl 文件,然后在您正在使用的 python 环境中pip install <path to .whl>
。
【讨论】:
经过数小时的搜索后,这一款效果很好......谢谢【参考方案2】:安装Mysql Connector/C 并重新启动pip install mysqlclient
。如果您的 Visual C 安装正确,它将工作
【讨论】:
【参考方案3】:也许您正在打开使用 python 进程执行的文件之一,需要下载以进行安装(根据我的经验,我正在打开 Pycharm,并且该进程正在使用“_mysql.cp36-win_amd64.pyd”文件)
希望这对某人有所帮助
【讨论】:
【参考方案4】:这里和其他地方的解决方案都不适合我。原来我的 64 位 Windows 10 操作系统上安装了不兼容的 32 位版本的 mysqlclient。
我必须卸载当前的 Python 3.7 32 位,然后重新安装 Python 3.7 64 位,现在一切正常
【讨论】:
【参考方案5】:要安装 mysqlclient,您需要 Visual C++ 2015 Build Tools。使用以下链接下载 visualstudio 工具。 http://go.microsoft.com/fwlink/?LinkId=691126&fixForIE=.exe.
现在您需要通过在命令行中使用以下命令在路径变量中设置您的 Visual Studio 路径。
“设置路径“C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC””
现在您需要使用以下命令安装 mysqlclient “点安装mysqlclient”
如果您发现类似“MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory 错误:命令 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe' 失败,退出状态为 2”
所以你需要下载.whl文件直接安装,你可以根据你的系统兼容性使用下面的链接下载。
“https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient.Then”
“mysqlclient-1.4.2-cp37-cp37m-win32.whl”文件对我有用。
“pip install mysqlclient-1.4.2-cp37-cp37m-win32.whl”
Mysqlclient 正在安装!!
需要根据mysql修改setting.py
DATABASES =
'default':
'ENGINE': 'django.db.backends.mysql',
'NAME': 'learnpython',
'USER': 'nilesh',
'PASSWORD': 'Radhe@12',
'HOST': 'localhost',
'PORT': 3306
现在享受 Django 与 mysql 的连接!! 更多详情“http://itfundasphp.blogspot.com/2019/06/django-connect-to-mysql.html”
【讨论】:
【参考方案6】:在我的 Django 项目中安装 mysqlclient 时出现此错误。 _mysql.c(29):致命错误 C1083:无法打开包含文件:'mysql.h':没有这样的文件或目录错误:命令'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\ Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe' 失败,退出状态为 2
我找到了解决此问题的方法。 原因是mysqlclient版本根据你的Python版本不匹配
首先,您可以检查python版本
python --version
然后就可以根据python版本安装mysqlclient版本了。
如果python版本是3.7,那么可以安装mysqlclient==1.3.14或者直接下载 mysqlclient-1.3.14-cp37-cp37m-win_amd64.whl 文件。
如果你的python版本是3.6,那么可以安装mysqlclient==1.3.13或者直接下载 mysqlclient-1.3.13-cp36-cp36m-win_amd64.whl文件。
【讨论】:
【参考方案7】:我也遇到了同样的问题。 我只是简单地下载了 python-64 安装程序并安装在我的机器上,并选择了 64bit 作为interperter。
我不明白为什么 32 位 python 在这里不起作用。
我希望这可能会有所帮助。
【讨论】:
How do I write a good answer?【参考方案8】:pip install mysqlclient
对我不起作用
我试过 pip install --only-binary :all: mysqlclient
并且工作得像个魅力
【讨论】:
以上是关于使用 Python 3.6.5 安装 MySQLdb 时出现问题:无法打开“mysql.h” - 并且无法打开:“config-win.h”:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章
python及pip安装(windows10+ Python 3.6.5最简单的安装配置方式)
使用 Python 3.6.5 安装 MySQLdb 时出现问题:无法打开“mysql.h” - 并且无法打开:“config-win.h”:没有这样的文件或目录