본문 바로가기
개발/파이썬 Python

[파이썬] mysqlclient 모듈 설치 오류 : Running setup.py install for mysqlclient ... error

by 언제나초심. 2021. 4. 10.
반응형

개요

윈도우 환경 & 파이썬 32 비트 에서 'mysqlclient' 모듈을 설치할 때 오류가 발생할 수 있다.

오류 로그

 Running setup.py install for mysqlclient ... error
    ERROR: Command errored out with exit status 1:
     command: '~\venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\~\\AppData\\Local\\Temp\\pip-install-~\\~8\\setup.py'"'"'; __file__='"'"'C:\\Users\\~\\AppData\\Local\\Temp\\pip-install-55daguw3\\mysqlclient_~\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read()
.replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\~\AppData\Local\Temp\pip-record-~\install-record.txt' --single-version-externally-managed --compile -
-install-headers '~\venv\include\site\python3.9\mysqlclient'

예상

pip 설치 과정 로그를 보면, mysqlclient-2.0.3-cp39-cp39-win\_amd64.whl 파일을 찾는 걸 볼 수 있는데, 짐작을 해보자면 mysqlclient-2.0.3-cp39-cp39-win\_amd64.whl 같은 .whl 파일을 설치하는 것이 아닐까.. 예상을 할 수 있었다.

파이썬 초짜라서 어디까지나 예상일 뿐이다. 음.. 아마도 pip install mysqlclient 커맨드 명령어를 하는 과정에서, pyPI 같은 공개된 장소에 있는 mysqlclient 를 탐색하고, 거기서 설치 파일이나 패키징 같은 것을 다운로드 받는 것이 아닐까... 하고 생각이 든다.

(예상: pip install => pyPI 탐색 => whl 등의 설치 파일 or 패키지 다운로드 => 설치 진행)

그러면 pyPI 를 찾아보았다. pyPI 의 PyPI에서 'mysqlclient' 링크

여기서 살펴보면 다운로드 가능한 파일명들이 다음과 같다.

  • mysqlclient-2.0.3-cp36-cp36m-win_amd64.whl (179.0 kB)
  • mysqlclient-2.0.3-cp37-cp37m-win_amd64.whl (179.0 kB)
  • mysqlclient-2.0.3-cp38-cp38-win_amd64.whl (179.4 kB)
  • mysqlclient-2.0.3-cp39-cp39-win_amd64.whl (179.4 kB)
  • mysqlclient-2.0.3.tar.gz

그렇다면... 전부다 win_am64 라고 명칭이 붙은 것으로 봐서는... 윈도우 64비트용이 아닐까 생각이 든다. 리눅스 계열은 'mysqlclient-2.0.3.tar.gz' 파일을 이용할 것으로 보인다.

하여튼... 윈도우 32비트 파일이 없다...

결론

파이썬 64비트에서 설치를 하면 잘 되므로... 64비트에서 설치하도록 하자.

32비트에서 이용하려면

32비트에서 이용하려면... 'https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient' 에서 'mysqlclient‑1.4.6‑cp39‑cp39‑win32.whl' 같이 뒤가 '-win32.whl'로 끝나는 파일을 받으면 된다는 듯 하다. 받고 난 후에 'pip install mysqlclient~~-win32.whl' 같이 파일명을 입력해주면 설치가 진행이 된다.

단지 이 방식은 버전이 낮으므로 추천할 만한 방식은 아닐 듯 하다. 학습 중이라면 크게 문제되지는 않을 듯 하다.

pyPI 의 'mysqlclient'의 'Release history' 문서를 살펴보면. 2.0.3 버전이 2021-01-01 에 출시되었고, 1.4.6 버전은 '2019-11-21'에 출시되었으니.. 어찌보면 큰 차이가 아니기도 하기 때문. (음... 1년 하고 조금 차이...)

반응형

'개발 > 파이썬 Python' 카테고리의 다른 글

[python, django] 'save_m2m'  (0) 2023.12.22
Numpy 의 Axis 옵션에 대한 정리.  (0) 2021.05.07