Python3.7,为MySql Python构建控制盘失败

Python3.7,为MySql Python构建控制盘失败,python,mysql,django,python-3.x,mysql-python,Python,Mysql,Django,Python 3.x,Mysql Python,我是python新手,我正在尝试django框架,该框架涉及一些MySql,在尝试执行pip安装mysqlclient时遇到了这个错误,在cmd消息行中我得到了这个错误 Failed building wheel for mysqlclient Running setup.py clean for mysqlclient Failed to build mysqlclient Installing collected packages: mysqlclient Running se

我是python新手,我正在尝试django框架,该框架涉及一些MySql,在尝试执行
pip安装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\

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

目前官方网站上没有用于python 3.7的mysql连接器,但您可以通过安装特定windows和python版本的控制盘来解决这个问题。 此解决方案
pip安装(ex/dir)/mysqlclient-1.3.13-cp37-cp37m-win\u amd64.whl
用于win 64 bi和python 3.7

检查下面的链接并下载您系统的特定控制盘。 使用并执行
conda安装mysqlclient

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

  • 从下载32位文件
  • 如果您的文件在下载文件夹中,请在cmd中写入命令

    一,<代码>cd C:\Users\Nour Noby\Downloads[应更改“Nour Noby”]

    二,<代码>pip安装mysqlclient-1.4.1-cp37-cp37m-win32.whl [“mysqlclient-1.4.1-cp37-cp37m-win32.whl”应替换为您下载的文件名


  • 在系统中安装mysqlclient for python 3.7之前,需要安装以下依赖项

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


    我希望这将对您有所帮助。

    从2019年起,以下是如何在MacOS上顺利运行
    pip安装mysqlclient

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

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

    • brew安装/升级/重新安装mysql
      :没有为我解决这个问题,但有很好的副作用,可以确保您的安装是干净的
    • brew install mysql-connector-c
      :要做到这一点,您必须取消与mysql的链接,这会破坏您的安装程序,并且无法为我解决问题

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

    并在全球范围内安装。。。(非虚拟环境)

    sudo apt get安装mysql服务器
    pip安装--升级setuptools

    我也遇到了同样的问题,因为我安装了默认的Python2.7.15,而python3在对Python做了必要的操作(作为Python2)后会收支平衡

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

    python3.7在virtualenv中的应用


    我还必须通过..

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

    请参阅相关答案:

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

    sudo apt-get install libssl-dev
    
    然后我可以使用以下命令安装mysqlclient

    pip install mysqlclient
    
    使用此命令:
    sudo-apt-get-install-libssl-dev

    先试试这个

    sudo apt-get install python3.7-dev
    
    然后


    在我的例子中,我安装了32位版本的Python,而不是64位版本。安装64位Python,它就可以正常工作。

    尝试另一种“MySQL连接器/Python”


  • 这可能会有所帮助:我无法帮助构建Python 3.7的控制盘,但如果您只想将Python 3与mysqlclient一起使用,那么
    pip install mysqlclient==1.3.12
    与Python 3.6一起应该安装一个预构建的控制盘,而不会出现任何问题。您可以尝试这个非官方的控制盘,很高兴它能够正常工作。最好使用最新的3.6.x,以确保获得最新的bug和安全修复。pip install mysqlclient==1.3.12帮助了我。我使用了python 3.7,然后卸载了它并安装了python 3.6.5。然后,该命令对我有效,在
    ubuntu19.04
    中使用
    python3.7.3
    pip19.1.1
    。之后,我也运行了这个
    pip安装mysqlclient
    。请尝试进一步解释。
    sudo apt-get install python3.7-dev
    
    pip install mysqlclient