【问题标题】:Installing mysqlclient in Python 3.6 in windows在 Windows 的 Python 3.6 中安装 mysqlclient
【发布时间】:2018-12-11 06:26:45
【问题描述】:

我想在我的 Windows 系统上安装 MySqlclient。我目前正在使用 Python 3.6。在通过 Stackoverflow 浏览各种帖子后,我找不到正确的方法。 这是我到目前为止所做的:

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,更新了轮子。

【问题讨论】:

    标签: python pip mysql-python python-wheel


    【解决方案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;博士

              1. “MySQL Connector C 6.1”安装在错误的目录中:“C:\Program Files\MySQL”而不是“C:\Program Files (x86)\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”目录进行写访问。

              【讨论】:

              • 这并不是真正解决问题的方法
              【解决方案8】:

              该错误表示尚未针对您的操作系统和 Python 版本编译该包。因此 pip 尝试为您从源代码构建它。

              有两种可能的解决方案。

              1. 第一个选项是安装最新版本的 Microsoft Visual C++ Build Tools。只需从 Microsoft 网站下载即可。然后pip应该可以编译包了。

              2. 另一种选择是使用非官方的二进制文件。正如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 的回答。
              猜你喜欢
              • 2018-01-15
              • 2023-03-30
              • 2020-06-10
              • 2018-04-13
              • 2018-04-17
              • 1970-01-01
              • 2018-09-01
              • 1970-01-01
              相关资源
              最近更新 更多