[컴][파이썬] No module named 'MySQLdb' 에러

import mysqldb

No module named 'MySQLdb' 에러

환경

  • 환경 : windows 10 , Windows Subsytem for Linux(WSL)
  • celery : version 4.4.2
  • SQLAlchemy : v1.3.17

설치된 packages

celery==4.4.2
SQLAlchemy==1.3.17
mysql-connector-python-rf==2.2.2

No module named 'MySQLdb'

이 상황에서 celery 의 task 를 실행시켰는데, 아래처럼 error 가 떴다. No module named 'MySQLdb' 가 주요한 이유였다.
[2020-06-01 14:26:50,785: WARNING/ForkPoolWorker-8] /usr/local/lib/python3.8/dist-packages/celery/app/trace.py:568: RuntimeWarning: Exception raised outside body: ModuleNotFoundError("No module named 'MySQLdb'"):
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/celery/backends/database/session.py", line 37, in get_engine
    return self._engines[dburi]
KeyError: 'mysql://id:pass@127.0.0.1/fundedv2'
...

해결

해결방법은 아래에서 찾을 수 있다. 간략하게 이야기를 하면, pymysql 를 설치하고, 이 PyMySQLMySQLdb 인 것처럼 인식하게 하면 된다.
그래서 pymysql 을 설치하고
pip3 install pymysql
 
project source에서 가장 top level file __init__.py에 아래 code 를 넣어주면 된다.
import pymysql
pymysql.install_as_MySQLdb()


댓글 없음:

댓글 쓰기