프로그래밍/Python

[Python] mysql client 설치 에러 (subprocess-exited-with-error..)

문제

프로젝트 개발환경을 세팅하면서 Mysql 과 연동하기 위해 client 설치도중 다음과 같은 에러를 만났다..

❯ pip install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-2.2.4.tar.gz (90 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [27 lines of output]
      /bin/sh: pkg-config: command not found
      /bin/sh: pkg-config: command not found
      /bin/sh: pkg-config: command not found
      Trying pkg-config --exists mysqlclient
      Command 'pkg-config --exists mysqlclient' returned non-zero exit status 127.
      Trying pkg-config --exists mariadb
      Command 'pkg-config --exists mariadb' returned non-zero exit status 127.
      Trying pkg-config --exists libmariadb
      Command 'pkg-config --exists libmariadb' returned non-zero exit status 127.
      Traceback (most recent call last):
        File "/Users/mins/.local/share/virtualenvs/common_sense_quiz-BYTkFYld/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/mins/.local/share/virtualenvs/common_sense_quiz-BYTkFYld/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/Users/mins/.local/share/virtualenvs/common_sense_quiz-BYTkFYld/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/private/var/folders/fg/4jpdv7z5697dtsw7dz1qm0q40000gn/T/pip-build-env-o78ud63q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
        File "/private/var/folders/fg/4jpdv7z5697dtsw7dz1qm0q40000gn/T/pip-build-env-o78ud63q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/fg/4jpdv7z5697dtsw7dz1qm0q40000gn/T/pip-build-env-o78ud63q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 155, in <module>
        File "<string>", line 49, in get_config_posix
        File "<string>", line 28, in find_package_name
      Exception: Can not find valid pkg-config name.
      Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

 

 

해결 

python3 부터 mysql client 설치를 위해서는 brew에서 mysql pkg-config 를 설치해줘야한다.

brew install mysql pkg-config
pip install mysqlclient

 

* 다른 운영체제는 아래 참고 github 링크에 가면 설치방법이 나온다.

 

참고

https://github.com/PyMySQL/mysqlclient/blob/main/README.md#macos-homebrew

https://stackoverflow.com/questions/66669728/trouble-installing-mysql-client-on-mac

728x90