본문 바로가기

프로그래밍 관련/[Python] 간단 해결

[Python] OSError: mysql_config not found (Ubuntu 16.04)

- 증상

Ubuntu OS에서 mysqlclient 설치 시 아래 에러 발생

> pip install mysqlclient

Collecting mysqlclient
  Using cached mysqlclient-1.4.6.tar.gz (85 kB)
    ERROR: Command errored out with exit status 1:
     command: /root/anaconda3/envs/bottle/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-sv3lnj0y/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-sv3lnj0y/mysqlclient/setup.py'"'"';=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-sv3lnj0y/mysqlclient/pip-egg-inf
         cwd: /tmp/pip-install-sv3lnj0y/mysqlclient/
    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-sv3lnj0y/mysqlclient/setup.py", line 16, in <module>
        metadata, options = get_config()
      File "/tmp/pip-install-sv3lnj0y/mysqlclient/setup_posix.py", line 61, in get_config
        libs = mysql_config("libs")
      File "/tmp/pip-install-sv3lnj0y/mysqlclient/setup_posix.py", line 29, in mysql_config
        raise EnvironmentError("%s not found" % (_mysql_config_path,))
    OSError: mysql_config not found
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

 

- 원인

mysql 추가 패키지 설치 필요

> apt-get install libmysqlclient-dev -y

패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
The following additional packages will be installed:
  libssl-dev libssl-doc zlib1g-dev
다음 새 패키지를 설치할 것입니다:
  libmysqlclient-dev libssl-dev libssl-doc zlib1g-dev
0개 업그레이드, 4개 새로 설치, 0개 제거 및 1개 업그레이드 안 함.
3,575 k바이트 아카이브를 받아야 합니다.
이 작업 후 16.6 M바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 zlib1g-dev amd64 1:1.2.8.dfsg-2ubuntu4.3 [167 kB]
받기:2 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libssl-dev amd64 1.0.2g-1ubuntu4.15 [1,344 kB]
받기:3 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmysqlclient-dev amd64 5.7.29-0ubuntu0.16.04.1 [987 kB]
받기:4 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libssl-doc all 1.0.2g-1ubuntu4.15 [1,077 kB]
내려받기 3,575 k바이트, 소요시간 4초 (754 k바이트/초)
Selecting previously unselected package zlib1g-dev:amd64.
(데이터베이스 읽는중 ...현재 869351개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../zlib1g-dev_1%3a1.2.8.dfsg-2ubuntu4.3_amd64.deb ...
Unpacking zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4.3) ...
Selecting previously unselected package libssl-dev:amd64.
Preparing to unpack .../libssl-dev_1.0.2g-1ubuntu4.15_amd64.deb ...
Unpacking libssl-dev:amd64 (1.0.2g-1ubuntu4.15) ...
Selecting previously unselected package libmysqlclient-dev.
Preparing to unpack .../libmysqlclient-dev_5.7.29-0ubuntu0.16.04.1_amd64.deb ...
Unpacking libmysqlclient-dev (5.7.29-0ubuntu0.16.04.1) ...
Selecting previously unselected package libssl-doc.
Preparing to unpack .../libssl-doc_1.0.2g-1ubuntu4.15_all.deb ...
Unpacking libssl-doc (1.0.2g-1ubuntu4.15) ...
Processing triggers for man-db (2.7.5-1) ...
zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4.3) 설정하는 중입니다 ...
libssl-dev:amd64 (1.0.2g-1ubuntu4.15) 설정하는 중입니다 ...
libmysqlclient-dev (5.7.29-0ubuntu0.16.04.1) 설정하는 중입니다 ...
libssl-doc (1.0.2g-1ubuntu4.15) 설정하는 중입니다 ...

 

- 해결

> pip install mysqlclient

Collecting mysqlclient
  Using cached mysqlclient-1.4.6.tar.gz (85 kB)
Building wheels for collected packages: mysqlclient
  Building wheel for mysqlclient (setup.py) ... done
  Created wheel for mysqlclient: filename=mysqlclient-1.4.6-cp37-cp37m-linux_x86_64.whl size=98178 sha256=caa2b6d33e97861503914b0bedd0621b7244b5214544f60e3980764022b96b8a
  Stored in directory: /root/.cache/pip/wheels/0d/77/50/313243794eb2e9f37ca5cbb677288009b2828c22f5f03dc7ff
Successfully built mysqlclient
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.4.6