在 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.whlmysqlclient‑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的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 7 上为 Python 3.6 安装 libtorrent

如何在python=3.6中安装torch==0.3.1

无法在 python 3.6 中安装 pickle

sh 在Amazon Linux中安装Python 3.6

可以在python 3.6中安装python 3.5包吗?

详解如何在 Linux 中安装最新的 Python 3.6 版本