【问题标题】:Python 3.7, Failed building wheel for MySql-PythonPython 3.7,MySql-Python 的构建轮失败
【发布时间】:2018-12-09 13:54:33
【问题描述】:

我是 python 新手,我正在尝试涉及一些 MySql 的 django 框架,并在尝试执行 pip install mysqlclient 时遇到此错误,并且在我收到的 cmd 消息行中遇到此错误。

   Failed building wheel for mysqlclient
  Running setup.py clean for mysqlclient
Failed to build mysqlclient
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... error
    Complete output from command c:\users\ronanl~1\envs\py1\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\RONANL~1\\AppData\\Local\\Temp\\pip-install-pkbqy3t3\\mysqlclient\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\RONANL~1\AppData\Local\Temp\pip-record-moxwf7lu\install-record.txt --single-version-externally-managed --compile --install-headers c:\users\ronanl~1\envs\py1\include\site\python3.7\mysqlclient:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    copying _mysql_exceptions.py -> build\lib.win32-3.7
    creating build\lib.win32-3.7\MySQLdb
    copying MySQLdb\__init__.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\compat.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\connections.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\converters.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\cursors.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\release.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\times.py -> build\lib.win32-3.7\MySQLdb
    creating build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\__init__.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\CLIENT.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\CR.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\ER.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\FLAG.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\REFRESH.py -> build\lib.win32-3.7\MySQLdb\constants
    running build_ext
    building '_mysql' extension
    creating build\temp.win32-3.7
    creating build\temp.win32-3.7\Release
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Dversion_info=(1,3,13,'final',0) -D__version__=1.3.13 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include" "-Ic:\users\ronan lina\appdata\local\programs\python\python37-32\include" "-Ic:\users\ronan lina\appdata\local\programs\python\python37-32\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /Tc_mysql.c /Fobuild\temp.win32-3.7\Release\_mysql.obj /Zl
    _mysql.c
    _mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
> 
> 
> Command "c:\users\ronanl~1\envs\py1\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\RONANL~1\\AppData\\Local\\Temp\\pip-install-pkbqy3t3\\mysqlclient\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\RONANL~1\AppData\Local\Temp\pip-record-moxwf7lu\install-record.txt --single-version-externally-managed --compile --install-headers c:\users\ronanl~1\envs\py1\include\site\python3.7\mysqlclient" failed with error code 1 in C:\Users\RONANL~1\AppData\Local\Temp\pip-install-pkbqy3t3\mysqlclient\

有人知道如何解决这个问题吗?

【问题讨论】:

  • 这可能会有所帮助:stackoverflow.com/a/4290261/747744
  • 我无法帮助为 Python 3.7 构建轮子,但如果您只想将 Python 3 与 mysqlclient 一起使用,那么 pip install mysqlclient==1.3.12 使用 Python 3.6 应该安装一个预构建的轮子,没有任何问题。
  • 你可以试试这个非官方的轮子lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
  • 很高兴你能成功。最好使用最新的 3.6.x,以确保您获得最新的错误和安全修复。
  • pip install mysqlclient==1.3.12 帮助了我。我在 python 3.7 中,然后卸载它并安装了 python 3.6.5。然后那个命令对我有用

标签: python mysql django python-3.x mysql-python


【解决方案1】:

目前官方网站上没有python 3.7的mysql-connector,但你可以通过安装带有特定windows和python版本的轮子来解决这个问题。 此解决方案pip install (ex/dir)/mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl 适用于 win 64-bi 和 python 3.7

查看下面的链接并为您的系统下载特定的轮子。 download and install the wheel for specific version by using "pip install (full path with file name in my case ex:-"pip install C:\Users\%user%\Downloads\mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl")

【讨论】:

    【解决方案2】:

    使用Anaconda 并执行 conda install mysqlclient

    【讨论】:

      【解决方案3】:

      你必须安装“mysqlclient-1.4.1-cp37-cp37m-win32.whl”(32bit)文件

      1. https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient下载32位文件
      2. 如果您的文件位于 Downloads 文件夹中,请在 cmd

        中写入命令

        我。 cd C:\Users\Nour Noby\Downloads [“Nour Noby”应该更改]

        二。 pip install mysqlclient-1.4.1-cp37-cp37m-win32.whl [“mysqlclient-1.4.1-cp37-cp37m-win32.whl”应替换为您下载的文件名 ]

      【讨论】:

        【解决方案4】:

        在您的系统中安装 python 3.7 的 mysqlclient 之前,您需要安装以下依赖项。

        sudo apt-get install python3.7-dev default-libmysqlclient-dev

        希望对你有帮助。

        【讨论】:

        • 曾在ubuntu 19.04python 3.7.3pip 19.1.1 合作。
        • 在这之后我也运行了这个pip install mysqlclient
        【解决方案5】:

        截至 2019 年,以下是如何在 MacOS 上顺利运行pip install mysqlclient

        brew info openssl 并按照底部的命令进行操作

          echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
        

        其他方法:

        • brew install/upgrade/reinstall mysql :没有为我解决这个问题,但有很好的副作用来确保你的安装是干净的。
        • brew install mysql-connector-c :要完成这项工作,您必须取消链接 mysql,这会破坏您的设置,但它并没有为我解决问题。

        【讨论】:

          【解决方案6】:

          确保您已经使用 python 完成了必要的工作......

          并在全局级别安装...(不是虚拟环境)

          sudo apt-get install mysql-server pip install --upgrade setuptools

          我也遇到过同样的问题,因为我安装了默认的Python2.7.15,而python3在做了Python所需的(是python2)之后甚至会崩溃

          对我有用的是(实际上最后一个是使它起作用的原因,但我认为它们在我的使用 python3 的虚拟环境中同样需要)

          sudo apt-get install libmysqlclient-dev
          sudo apt-get install python3-pymysql
          sudo apt-get install python3.6-dev
          

          python3.7 在你的情况下在 virtualenv

          我也必须经历..

          【讨论】:

            【解决方案7】:

            我使用以下命令安装了它,现在运行良好(在 Mac 上): LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient

            查看相关答案: Error installing mysql-python: library not found for -lssl

            【讨论】:

              【解决方案8】:

              我在 Ubuntu 上安装了以下库,之后问题得到解决。

              sudo apt-get install libssl-dev
              

              然后我可以使用以下命令安装 mysqlclient

              pip install mysqlclient
              

              【讨论】:

                【解决方案9】:

                使用这个命令: sudo apt-get install libssl-dev

                【讨论】:

                • 请多解释一下。
                【解决方案10】:

                这应该可行。

                先做这个

                sudo apt-get install python3.7-dev
                

                然后

                pip install mysqlclient
                

                【讨论】:

                  【解决方案11】:

                  就我而言,我安装了 32 位版本的 Python,而不是 64 位版本。安装 64 位 Python 就可以了。

                  【讨论】:

                    【解决方案12】:
                    猜你喜欢
                    • 2017-09-11
                    • 2019-12-07
                    • 1970-01-01
                    • 2020-12-28
                    • 1970-01-01
                    • 1970-01-01
                    • 2016-11-14
                    • 2022-01-10
                    • 2016-08-12
                    相关资源
                    最近更新 更多