우분투에서 pip install mysqlclient 실행 시 "OSError: mysql_config not found" 오류
다음과 같이 mysqlclient 설치 시 오류가 발생한다면?
$ pip install mysqlclient
Defaulting to user installation because normal site-packages is not writeable
Collecting mysqlclient
Using cached mysqlclient-2.0.3.tar.gz (88 kB)
Preparing metadata (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_z_4hgca/mysqlclient_8665a789d21848f19b40941d86f0b9cf/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_z_4hgca/mysqlclient_8665a789d21848f19b40941d86f0b9cf/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-bkuqau7j
cwd: /tmp/pip-install-_z_4hgca/mysqlclient_8665a789d21848f19b40941d86f0b9cf/
Complete output (15 lines):
/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 1, in <module>
File "/tmp/pip-install-_z_4hgca/mysqlclient_8665a789d21848f19b40941d86f0b9cf/setup.py", line 15, in <module>
metadata, options = get_config()
File "/tmp/pip-install-_z_4hgca/mysqlclient_8665a789d21848f19b40941d86f0b9cf/setup_posix.py", line 70, in get_config
libs = mysql_config("libs")
File "/tmp/pip-install-_z_4hgca/mysqlclient_8665a789d21848f19b40941d86f0b9cf/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
----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/3c/df/59cd2fa5e48d0804d213bdcb1acb4d08c403b61c7ff7ed4dd4a6a2deb3f7/mysqlclient-2.0.3.tar.gz#sha256=f6ebea7c008f155baeefe16c56cd3ee6239f7a5a9ae42396c2f1860f08a7c432 (from https://pypi.org/simple/mysqlclient/) (requires-python:>=3.5). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached mysqlclient-2.0.2.tar.gz (88 kB)
Preparing metadata (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_z_4hgca/mysqlclient_32ca9ed82c6740ab98ca9ddb231ccf3f/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_z_4hgca/mysqlclient_32ca9ed82c6740ab98ca9ddb231ccf3f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-30neh7p0
cwd: /tmp/pip-install-_z_4hgca/mysqlclient_32ca9ed82c6740ab98ca9ddb231ccf3f/
Complete output (12 lines):
/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 1, in <module>
File "/tmp/pip-install-_z_4hgca/mysqlclient_32ca9ed82c6740ab98ca9ddb231ccf3f/setup.py", line 15, in <module>
metadata, options = get_config()
File "/tmp/pip-install-_z_4hgca/mysqlclient_32ca9ed82c6740ab98ca9ddb231ccf3f/setup_posix.py", line 65, in get_config
libs = mysql_config("libs")
File "/tmp/pip-install-_z_4hgca/mysqlclient_32ca9ed82c6740ab98ca9ddb231ccf3f/setup_posix.py", line 31, in mysql_config
raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found
----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/6b/ba/4729d99e85a0a35bb46d55500570de05b4af10431cef174b6da9f58a0e50/mysqlclient-1.3.1.tar.gz#sha256=3549e8a61f10c8cd8eac6581d3f44d0594f535fb7b29e6090db3a0bc547b25ad (from https://pypi.org/simple/mysqlclient/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached mysqlclient-1.3.0.tar.gz (76 kB)
Preparing metadata (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-malc20d4/mysqlclient_a71841e46c3242638e44b1a78b437590/setup.py'"'"'; __file__='"'"'/tmp/pip-install-malc20d4/mysqlclient_a71841e46c3242638e44b1a78b437590/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-a3_nrqgx
cwd: /tmp/pip-install-malc20d4/mysqlclient_a71841e46c3242638e44b1a78b437590/
Complete output (10 lines):
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-malc20d4/mysqlclient_a71841e46c3242638e44b1a78b437590/setup.py", line 17, in <module>
metadata, options = get_config()
File "/tmp/pip-install-malc20d4/mysqlclient_a71841e46c3242638e44b1a78b437590/setup_posix.py", line 47, in get_config
libs = mysql_config("libs_r")
File "/tmp/pip-install-malc20d4/mysqlclient_a71841e46c3242638e44b1a78b437590/setup_posix.py", line 29, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
OSError: mysql_config not found
----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/6a/91/bdfe808fb5dc99a5f65833b370818161b77ef6d1e19b488e4c146ab615aa/mysqlclient-1.3.0.tar.gz#sha256=06eb5664e3738b283ea2262ee60ed83192e898f019cc7ff251f4d05a564ab3b7 (from https://pypi.org/simple/mysqlclient/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement mysqlclient (from versions: 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.3.8, 1.3.9, 1.3.10, 1.3.11rc1, 1.3.11, 1.3.12, 1.3.13, 1.3.14, 1.4.0rc1, 1.4.0rc2, 1.4.0rc3, 1.4.0, 1.4.1, 1.4.2, 1.4.2.post1, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.1.0rc1)
ERROR: No matching distribution found for mysqlclient
공식 문서에 나오듯이,
pypi - mysqlclient
; https://pypi.org/project/mysqlclient/
다음의 구성 요소를 먼저 설치해주고,
$ sudo apt-get update
$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config -y
실행하면 정상적으로 mysqlclient가 설치될 것입니다. ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]