맨땅에 헤딩하는 사람

[Python] 32bit 아나콘다 mysqlclient 윈도우10에서 설치 시 에러 본문

파이썬/이론

[Python] 32bit 아나콘다 mysqlclient 윈도우10에서 설치 시 에러

purplechip 2020. 7. 13. 23:26

증권사 api는 32bit만을 지원하기 때문에 MySQL DB 인터페이스 모듈도 32bit로 설치해야 한다. 파이썬 DB 인터페이스 모듈은 여러가지가 있는데 그 중 가장 유명한 것은 mysqlclient와 pymysql이다. 두 개 다 프로젝트 관리자가 같으며 pymysql은 mysqlclient를 python으로만 구현한 모듈이기 때문에 프로젝트 관리자 역시 호환성등의 특별한 이유가 없으면 mysqlclient를 쓰라고 권고한다.  

 

실제 anaconda를 사용하면 설치도 간편하다.

(base) C:\Users\ksme0>conda install mysqlclient
cs

 

64bit에서는 위와 같이 설치가 간단하다. 그러나 32bit에서는 다음과 같은 오류가 발생한다.

(py37_32) C:\Users\ksme0>python
Python 3.7.6 (default, Jan  8 202016:21:45) [MSC v.1916 32 bit (Intel)] :: Anaconda, Inc. on win32
Type "help""copyright""credits" or "license" for more information.
>>> import MySQLdb
...
...
ImportError: No module named _mysql
cs

 

_mysql은 C로 구현된 코드이다. MySQLdb와 _mysql 연동이 안되는 모양이다. pip에서는 whl파일을 통해 설치하라고 나와있다. 그러나 pip 사이트에서는 64bit 버전밖에 없다.

[그림 1. PyPI 사이트 내 mysqlclient 모듈 설치 설명]

 

문제에 봉착하여 계속 헤매다가 스택 오버플로우에서 내가 원하는 whl 파일을 다운 받을 수 있는 url을 알려줬다. 스택 오버플로우를 찬양하라!

아래 url로 접속한 후 본인 파이썬 버전에 맞게 다운로드하여 설치하면 된다. 

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

 

다운로드가 되었으면 다운받은 위치로 가서 다음과 같이 실행시켜주면 된다. 필자의 경우 파이썬 3.7버전을 사용하기에 아래 파일로 설치를 진행하였다.

## python -m pip install #[whl file name]#
(py37_32) C:\Users\ksme0>python -m pip install mysqlclient-1.4.6-cp37-cp37m-win32.whl
cs

 

문제없이 import가 됨을 확인할 수 있다. 

 

 

참고

pymysql, mysqlclient 비교

velog.io/@city7310/%EB%B0%B1%EC%97%94%EB%93%9C%EA%B0%80-%EC%9D%B4%EC%A0%95%EB%8F%84%EB%8A%94-%ED%95%B4%EC%A4%98%EC%95%BC-%ED%95%A8-12.-%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EB%A0%88%EB%B2%A8-%EC%9D%98%EC%82%AC%EA%B2%B0%EC%A0%95-1

스택오버플로우 설치 질문

stackoverflow.com/questions/645943/integrating-mysql-with-python-in-windows

PyPI mysqlclient 

pypi.org/project/mysqlclient/#description

mysqlclient manual

mysqlclient.readthedocs.io/FAQ.html#importerror

 

 

Comments