在 Windows 的 Python 3.6 中安装 mysqlclient
Posted
技术标签:
【中文标题】在 Windows 的 Python 3.6 中安装 mysqlclient【英文标题】:Installing mysqlclient in Python 3.6 in windows 【发布时间】:2018-12-11 06:26:45 【问题描述】:我想在我的 Windows 系统上安装 mysqlclient。我目前正在使用 Python 3.6。在通过 *** 浏览各种帖子后,我找不到正确的方法。 这是我到目前为止所做的:
1) 使用 pip pip install mysqlclient
安装。错误:
需要 Microsoft Visual C++ 14.0。使用“Microsoft Visual C++ 构建工具”http://landinghub.visualstudio.com/visual-cpp-build-tools
获取它
我的笔记本电脑上已经安装了 Microsoft Visual C++。有人说你需要 2015 版。
2) 使用wheel文件pip install mysqlclient-1.3.13-cp36-cp36m-win_amd64.whl
安装。错误:
需求
mysqlclient-1.3.13-cp36-cp36m-win_amd64.whl
看起来像一个文件名,但该文件不存在。mysqlclient-1.3.13-cp36-cp36m-win_amd64.whl
不支持此平台。
2.1) 将 whl 文件更改为不同版本 pip install mysqlclient-1.3.13-cp36-cp36m-win32.whl
。错误:
由于 EnvironmentError 无法安装软件包:[Errno 2] 没有这样的文件或目录:
'C:\\Users\\Foxtrot\\Desktop\\finaltest\\mysqlclient-1.3.13-cp36-cp36m-win32.whl'
已完成的其他事情:更新了 setuptools,更新了***。
【问题讨论】:
【参考方案1】:遇到同样的问题,在网上搜索等。这里是这个答案:
mysql-python install error: Cannot open include file 'config-win.h'
它有所有的说明。总之去这个网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient:
在那个网站你会发现mysqlclient‑1.3.13‑cp36‑cp36m‑win32.whl
mysqlclient‑1.3.13‑cp36‑cp36m‑win_amd64.whl
为您的平台下载正确的文件。
然后将下载的wheels文件与pip一起使用即可:
pip install c:\mysqlclient‑1.3.13‑cp36‑cp36m‑win_amd64.whl
https://www.lfd.uci.edu/~gohlke/pythonlibs 有很多编译库来解决自己从源代码构建它们的问题。他们甚至为 python 3.7 编译它们:)
替代解决方案
您还可以下载 Visual C++ Build Tools,然后您应该能够使用 pip 安装每个(至少据我所知)版本的 mysqlclient。
为此,请访问此站点:https://www.scivision.co/python-windows-visual-c++-14-required/,在那里您可以找到所需的构建工具版本,还可以找到下载安装程序的链接。请注意,尽管构建工具需要超过 4GB 的可用磁盘空间。
【讨论】:
如此简单的修复。我会花几个小时来安装 mysqlclient。感谢您找到/发帖。 我有同样的问题,但仍然有一个错误说,“要求'mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl'看起来像一个文件名,但文件不存在mysqlclient -1.3.13-cp37-cp37m-win_amd64.whl 不是此平台支持的***。” 这里有 are wheels available 用于之前的 1.3.12 版本。您可以使用pip install "mysqlclient==1.3.12"
安装它。
第一个解决方案似乎只需这样做:python -m pip install mysqlclient
我希望有办法固定这个...这是 django 2.2.6 > 使用 mysql 时需要的版本-_-【参考方案2】:
解决此问题的最简单方法是下载支持系统上安装的python版本的正确版本的MySQL客户端。
MYSQLclient下载链接:https://pypi.org/project/mysqlclient/#files
检查安装在您 PC 中的 python 版本:
【讨论】:
【参考方案3】:对于这个错误,大多数用户建议安装 vs 构建,但有一个替代方案在我的情况下非常有效,并且对你来说也肯定。 从这里下载最新的 MySQL 客户端 mysqlclients
在这里您可以看到许多版本,但更喜欢下载具有 32 位和 64 位文件的最新版本。 下载主题并将文件放在项目根文件夹中,然后运行相同的命令,但使用下载的 mysqlclient 的完整文件名。
like: pip install mysqlclient‑1.4.6‑cp38‑cp38‑win32.whl
在我的情况下,文件是这个 如果已经有了 XAMPP 服务器,那么您可以将其 phpMyAdmin 与 python 一起使用。 为此,您只需要更改您的根 setting.py 文件。 像这样的
DATABASES =
'default':
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydjango',
'USER': 'root',
'PASSWORD':'',
'HOST':'localhost',
'PORT':'3306',
端口与您在 xampp 面板上看到的相同,就在 MySQL 的启动按钮之前。 更改此设置后,您只需通过点击此命令再次启动您的服务器
python manage.py runserver
如果您没有看到任何错误,那么恭喜您成功连接 MySQL 数据库。
享受...
【讨论】:
【参考方案4】:告诉 pip 不要使用源代码,而是使用二进制包:
pip install --only-binary :all: mysqlclient
https://pip.pypa.io/en/stable/reference/pip_install/#install-only-binary
【讨论】:
【参考方案5】:我在 Windows 10 操作系统上使用 python3.7。 我遇到了同样的问题,经过长时间的研究,我成功安装了它。
安装“Microsoft Visual C++ 构建工具” 和 我的操作系统是 64 位操作系统,但仍然需要安装 32 位版本 "mysqlclient‑1.4.2‑cp37‑cp37m‑win32.whl"
从“https://www.lfd.uci.edu/~gohlke/pythonlibs/”下载二进制***并运行命令
pip install [path_to_downloaded_file] 例如:C:\Users\Ds\mysqlclient-1.4.2-cp37-cp37m-win32.whl
如果您使用的是虚拟环境,请使用 pipenv 而不是 pip。
【讨论】:
【参考方案6】:这对我有用。我卸载了mysql并重新安装了它。
pip uninstall mysqlclient
然后简单地重新安装,所以它选择了当前版本“1.4.2.post1”
pip install mysqlclient
有趣的是,它立即生效。
【讨论】:
【参考方案7】:前一天遇到了同样的问题。 尝试在 Windows Server R2 上安装 mysqlclient。
[...]
Tl;博士
“MySQL Connector C 6.1”安装在错误的目录中:“C:\Program Files\MySQL”而不是“C:\Program Files (x86)\MySQL”,其中应该是给我的。-->将“MySQL Connector C 6.1”复制到“C:\Program Files (x86)\MySQL”目录。
“C:\Users\MoBoo\AppData\Local\Temp”是只读的:因此 pip 无法将文件编译到 Temp 目录中。- -> 允许对“C:\Users\MoBoo\AppData\Local\Temp”目录进行写访问。
【讨论】:
这并不是真正解决问题的方法【参考方案8】:该错误表示尚未针对您的操作系统和 Python 版本编译该包。因此 pip 尝试为您从源代码构建它。
有两种可能的解决方案。
第一个选项是安装最新版本的 Microsoft Visual C++ Build Tools。只需从 Microsoft 网站下载即可。然后pip应该可以编译包了。
另一种选择是使用非官方的二进制文件。正如here 所述,被证明有用的资源是https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python。只需下载预编译包并使用
安装即可pip install c:\path-to-a-pre-compiled-package
【讨论】:
这里有 are wheels available 用于之前的 1.3.12 版本。您可以使用pip install "mysqlclient==1.3.12"
安装它。【参考方案9】:
我在PyPi 上找不到 mysqlclient-1.3.13 的 whl 文件。所以你需要从源代码编译它。不幸的是,这并不容易。我不是Windows人,所以我只能推荐this 这样的指南
【讨论】:
这里有 are wheels available 用于之前的 1.3.12 版本。您可以使用pip install "mysqlclient==1.3.12"
安装它。
为什么他们没有当前版本的***?
@RobertHickman this comment from the mysqlclient maintainer 表示支持 Windows 是一项艰巨的工作。窗户有非官方的***,请参阅 mrangry 的回答。以上是关于在 Windows 的 Python 3.6 中安装 mysqlclient的主要内容,如果未能解决你的问题,请参考以下文章