在Windows上安装Python 3.6的mysqlclient

28
我想在我的Windows系统上安装MySqlclient。我目前正在使用Python 3.6。经过阅读Stackoverflow上的各种帖子后,我没有找到正确的方法。 目前为止,我做了以下事情: 1)使用pip进行安装pip install mysqlclient。错误信息如下:
Microsoft Visual C++ 14.0是必需的。请使用“Microsoft Visual C++ Build Tools”获取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] No such file or directory: 'C:\\Users\\Foxtrot\\Desktop\\finaltest\\mysqlclient-1.3.13-cp36-cp36m-win32.whl'
其他已做的事情:更新了setuptools,更新了wheel。
10个回答

44

遇到了相同的问题,搜索了网上资料等等。以下是解决方案:

mysql-python 安装错误: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

根据你的平台下载相应的文件。

然后使用 pip 安装已下载的 wheel 文件即可完成:

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/。在该网站上您可以查找所需的Build Tools版本,并找到下载安装程序的链接。请注意,Build Tools需要4GB以上的免费磁盘空间。

这个问题解决起来真的很简单。我本来可能会花好几个小时去安装mysqlclient,感谢你找到并发布了解决方法。 - raider33
我有同样的问题,但仍然出现错误提示:“Requirement 'mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl' 看起来像是一个文件名,但该文件不存在。mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl 在此平台上不是受支持的 wheel。” - Irene
4
先前版本1.3.12有相应的轮子可用。您可以使用“pip install"mysqlclient==1.3.12"”进行安装。 - Alasdair
第一个解决方案似乎只需要执行以下操作即可:python -m pip install mysqlclient - Will Ward
我希望有一种方法可以固定这个...在使用mysql时,django 2.2.6 >版本需要这个。-_- - hpca01
不知道为什么,在Windows 10 x64和Python 3.8上,使用win_amd64版本无法工作,但使用win32版本可以正常工作... - Vincent Decaux

10

8

我在PyPi上找不到mysqlclient-1.3.13的whl文件,所以你需要从源代码编译。不幸的是,这并不容易。我不是Windows专家,所以我只能推荐像这个指南。


18
先前版本1.3.12有可用的轮子,您可以使用 pip install "mysqlclient==1.3.12" 来安装它。 - Alasdair
为什么当前版本没有轮子? - Robert Hickman
2
@RobertHickman 这位mysqlclient维护者的评论表示支持Windows需要大量工作。对于Windows,有非官方的wheels可用,请参考mrangry的回答。 - Alasdair

7
我在Windows 10操作系统上使用python3.7。我遇到了同样的问题,在长时间的研究后,我成功地安装了它。
安装"Microsoft Visual C++ Build Tools"并且我的操作系统是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
该错误意味着该软件包尚未为您的操作系统和Python版本编译。因此,pip将尝试为您构建源代码。
有两种可能的解决方案。
  1. 第一种选择是安装最新版本的Microsoft Visual C++ Build Tools。请前往Microsoft网站下载并安装它。然后pip应该能够编译该软件包。

  2. 另一个选择是使用非官方二进制文件。如此处所述,一个有用的资源是https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python。只需下载预编译的软件包并使用

    pip install c:\path-to-a-pre-compiled-package


1
之前的版本1.3.12有可用的“轮子”(wheels),您可以使用“pip install 'mysqlclient==1.3.12'”进行安装。 - Alasdair

0

解决此问题的最简单方法是下载正确版本的MySQL客户端,以支持您系统中安装的Python版本。

MYSQL客户端下载链接:https://pypi.org/project/mysqlclient/#files

enter image description here

检查您电脑上安装的Python版本: 在此输入图片描述

0

我之前也遇到了同样的问题。 尝试在一个Windows Server R2上安装mysqlclient。

[...]

简述:

  1. "MySQL Connector C 6.1"被安装在错误的目录下:应该是在"C:\Program Files (x86)\MySQL"而不是在"C:\Program Files\MySQL"。
    --> 将"MySQL Connector C 6.1"复制到"C:\Program Files (x86)\MySQL"目录中。

  2. "C:\Users\MoBoo\AppData\Local\Temp"是只读的:因此pip无法将文件编译到Temp目录中。
    --> 允许写入"C:\Users\MoBoo\AppData\Local\Temp"目录。


这并不是问题的解决方案。 - CodeSamurai777

0

这是对我起作用的方法。我卸载了 MySQL 并重新安装了它。

pip uninstall mysqlclient

然后只需重新安装,以便选择当前版本“1.4.2.post1”

pip install mysqlclient

有趣的是,它可以直接工作。


0

我使用的是 Python 3.7 版本,但仍然出现了相同的错误。

尝试了所有可能的解决方法后,最终重新安装最新版本的 Python(在我的情况下是 3.10.7)解决了这个问题。


这并没有真正回答问题。如果您有不同的问题,可以通过点击提问来提出。如果您想在此问题获得新的答案时得到通知,您可以关注此问题。一旦您拥有足够的声望,您还可以添加悬赏以吸引更多关注。- 来自审核 - inarighas
问题正是我所面临的,而我编写的解决方案解决了这个问题。我没有看到任何不相关的点。 - Elmir

0

针对这个错误,大多数用户建议安装 VS Build,但是在我的情况下有一个完美的替代方案,而且对您也是可靠的。从这里下载最新的 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数据库。
享受吧...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接