web-dev-qa-db-ja.com

Python 3.7、MySql-Pythonのホイールの構築に失敗しました

私は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\

誰もこれを修正する方法を知っていますか?

9
ronan

現在、python 3.7のmysql-connectorは公式ウェブサイトでは利用できませんが、特定のウィンドウとpythonバージョンでホイールをインストールすることでこの問題を修正できます。このソリューションpip install (ex/dir)/mysqlclient-1.3.13-cp37-cp37m-win_AMD64.whl win 64-biおよびpython 3.7用

以下のリンクを確認し、システムに固有のホイールをダウンロードしてください。 「pip install(私の場合はファイル名を含むフルパスex:-」pip install C:\ Users \%user%\ Downloads\mysqlclient-1.3.13-cp37を使用して特定のバージョンのホイールをダウンロードしてインストールします-cp37m-win_AMD64.whl ")

システムにpython 3.7のmysqlclientをインストールする前に、次の依存関係をインストールする必要があります。

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

これがお役に立てば幸いです。

2
PyMaster

あなたがPythonで必要なことを行ったことを確認する...

グローバルレベルでのインストール...(仮想環境ではない)

Sudo apt-get install mysql-serverpip install --upgrade setuptools

デフォルトのPython2.7.15をインストールし、Python(python2である)に必要なことを行った後でもpython3が破損するため、同じ問題に遭遇しました。

私のために働いたものは(実際には最後のものがそれを機能させたものですが、python3の私の仮想環境でも等しく必要だったと思います)

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

あなたの場合、virtualenvのpython3.7

私も通過しなければなりませんでした..

1
Mehdi

「mysqlclient-1.4.1-cp37-cp37m-win32.whl」(32bit)ファイルをインストールする必要があります

  1. 32bitファイルを https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient からダウンロードします
  2. ファイルがDownloadsフォルダーにある場合、コマンドをcmdに書き込みます

    私。 cd C:\Users\Nour Noby\Downloads[ "Nour Noby"を変更する必要があります]

    ii。 pip install mysqlclient-1.4.1-cp37-cp37m-win32.whl[ "mysqlclient-1.4.1-cp37-cp37m-win32.whl"は、ダウンロードしたものに置き換える必要がありますファイル名].

1
Nour Noby

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のリンクを解除する必要があります。これにより、セットアップが台無しになり、問題が修正されませんでした。
1
louis_guitton

次のコマンドを使用してインストールし、現在(Macで)正常に動作しています:LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient

接続された答えを参照してください: mysql-pythonのインストールエラー:-lsslのライブラリが見つかりません

0