環境
os : Ubuntu 22.04
python : 3.10
事象
↓コマンドで仮想環境を作成して、その中にmysqlclientをダウンロードしたら、、、
$ python -m venv venv
こんなエラーが出てインストールできない!!!
(venv)$ pip install mysqlclient
Collecting mysqlclient
Using cached mysqlclient-2.1.1.tar.gz (88 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [16 lines of output]
/bin/sh: 1: mysql_config: not found
/bin/sh: 1: mariadb_config: not found
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-lq7x6sfi/mysqlclient_a658ec6c7a7f4cfdbaa28115071bf8c3/setup.py", line 15, in <module>
metadata, options = get_config()
File "/tmp/pip-install-lq7x6sfi/mysqlclient_a658ec6c7a7f4cfdbaa28115071bf8c3/setup_posix.py", line 70, in get_config
libs = mysql_config("libs")
File "/tmp/pip-install-lq7x6sfi/mysqlclient_a658ec6c7a7f4cfdbaa28115071bf8c3/setup_posix.py", line 31, in mysql_config
raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found
mysql_config --version
mariadb_config --version
mysql_config --libs
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
原因
必要なパッケージをインストールしてないだけだった。。。。
怒ってごめん。。。
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
必要なパッケージをインストールしたらダウンロードできた
(venv)$ pip install mysqlclient
Collecting mysqlclient
Using cached mysqlclient-2.1.1.tar.gz (88 kB)
Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for mysqlclient, since package 'wheel' is not installed.
Installing collected packages: mysqlclient
Running setup.py install for mysqlclient ... done
Successfully installed mysqlclient-2.1.1
備忘録的なね