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
를 설치하고, 이
PyMySQL
이
MySQLdb
인 것처럼 인식하게 하면 된다.
그래서 pymysql 을 설치하고
pip3 install pymysql
project source에서 가장 top level file
__init__.py
에 아래 code 를 넣어주면 된다.
import pymysql
pymysql.install_as_MySQLdb()
댓글 없음:
댓글 쓰기