DjangoはデフォルトのDBがsqlite3となっています
MySQLに変更しようとして、必要なライブラリであるmysqlclientを
インストールしようとしたらエラーになりました
はぁー↓
解決するほかないですが、気持ちがのらない。。。
とりあえず、エラー内容を見ていきます
ネタばれ
mysqlclientが入らなかったため、PyMySQLをインストールしています
エラー
(実行コマンド)
1 |
pip install mysqlclient |
(エラー内容一部抜粋)
1 |
MySQLdb/_mysql.c(29): fatal error C1083: include ファイルを開けません。'mysql.h':No such file or directory |
「mysql.h」がないっていってますね
何はなくとも検索してみる
こちらの記事によると、
「MySQL Connector C 6.1」をインストールすればエラーは解消されます。
とのこと。
※次の見出しで試しましたが、エラー解消されず。。。
MySQL Connector C 6.1 をインストールしてみた
公式HPからインストーラーをダウンロードして、実行します
↓が立ち上がります
されるがまま、インストールしていき完了したらOK
もう一回インストールしてみる
(実行コマンド)
1 |
pip install mysqlclient |
(エラー内容一部抜粋)
1 |
MySQLdb/_mysql.c(29): fatal error C1083: include ファイルを開けません。'mysql.h':No such file or directory |
変わらないんかい!!
別のライブラリを使いました
無理そうなので、PyMySQLというライブラリに変えました
(特にこだわりがあるわけではないので、、、)
1 2 3 4 5 6 7 |
PS C:\Users\******> pip install PyMySQL Collecting PyMySQL Downloading PyMySQL-1.0.2-py3-none-any.whl (43 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.8/43.8 kB 2.2 MB/s eta 0:00:00 Installing collected packages: PyMySQL Successfully installed PyMySQL-1.0.2 PS C:\Users\******> |
普通にはいった(笑)
最初からこっちにしておけばよかった。。。
これでなんとかPython→MySQLへ接続できそう、よかった
(おまけ)インストール時の出力全文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
PS C:\Users\******\Desktop\開発\Docker\React+Django\react_front> pip install mysqlclient Collecting mysqlclient Using cached mysqlclient-2.1.1.tar.gz (88 kB) Preparing metadata (setup.py) ... done Building wheels for collected packages: mysqlclient Building wheel for mysqlclient (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [29 lines of output] running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-37 creating build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\__init__.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\_exceptions.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\connections.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\converters.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\cursors.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\release.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\times.py -> build\lib.win-amd64-cpython-37\MySQLdb creating build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\__init__.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\CR.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\ER.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\FLAG.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants running build_ext building 'MySQLdb._mysql' extension creating build\temp.win-amd64-cpython-37 creating build\temp.win-amd64-cpython-37\Release creating build\temp.win-amd64-cpython-37\Release\MySQLdb "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Dversion_info=(2,1,1,'final',0) -D__version__=2.1.1 "-IC:\Program Files\MariaDB\MariaDB Connector C\include\mariadb" "-IC:\Program Files\MariaDB\MariaDB Connector C\include" -IC:\Users\******\anaconda3\envs\JIRA\include -IC:\Users\******\anaconda3\envs\JIRA\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" /TcMySQLdb/_mysql.c /Fobuild\temp.win-amd64-cpython-37\Release\MySQLdb/_mysql.obj _mysql.c MySQLdb/_mysql.c(29): fatal error C1083: include ファイルを開けません。'mysql.h':No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: 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 error: subprocess-exited-with-error × Running setup.py install for mysqlclient did not run successfully. │ exit code: 1 ╰─> [31 lines of output] running install C:\Users\******\anaconda3\envs\JIRA\lib\site-packages\setuptools\command\install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. setuptools.SetuptoolsDeprecationWarning, running build running build_py creating build creating build\lib.win-amd64-cpython-37 creating build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\__init__.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\_exceptions.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\connections.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\converters.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\cursors.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\release.py -> build\lib.win-amd64-cpython-37\MySQLdb copying MySQLdb\times.py -> build\lib.win-amd64-cpython-37\MySQLdb creating build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\__init__.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\CR.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\ER.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants copying MySQLdb\constants\FLAG.py -> build\lib.win-amd64-cpython-37\MySQLdb\constants running build_ext building 'MySQLdb._mysql' extension creating build\temp.win-amd64-cpython-37 creating build\temp.win-amd64-cpython-37\Release creating build\temp.win-amd64-cpython-37\Release\MySQLdb "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Dversion_info=(2,1,1,'final',0) -D__version__=2.1.1 "-IC:\Program Files\MariaDB\MariaDB Connector C\include\mariadb" "-IC:\Program Files\MariaDB\MariaDB Connector C\include" -IC:\Users\******\anaconda3\envs\JIRA\include -IC:\Users\******\anaconda3\envs\JIRA\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" /TcMySQLdb/_mysql.c /Fobuild\temp.win-amd64-cpython-37\Release\MySQLdb/_mysql.obj _mysql.c MySQLdb/_mysql.c(29): fatal error C1083: include ファイルを開けません。'mysql.h':No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure × Encountered error while trying to install package. ╰─> mysqlclient note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. PS C:\Users\******\Desktop\開発\Docker\React+Django\react_front> |
コメント