Python
Django
MySQL
Heroku
gunicorn

gunicorn+Django+MySQLで No module named 'MySQLdb' エラー

More than 1 year has passed since last update.

現象

DjangoアプリをHerokuにデプロイしている時に、 No module named 'MySQLdb' で詰まった。
Python3の時、PyMySQLでMySQLを使う場合に、manage.py

import pymysql
pymysql.install_as_MySQLdb()

と書くことがあり、ここでPyMySQLをMySQLdbという名前で読んでいるはずなので、No module named 'MySQLdb'というエラーが出る場合ここがおかしい。

環境

Python 3.6.3
Django 1.11.7
PyMySQL 0.7.11
gunicorn 19.7.1

原因

よく考えれば単純で、gunicornでWSGIサーバーを立てているので、この場合manage.pyが呼ばれてない。
ローカルで開発するときにpython manage.py runserverを叩いていて勘違いしてしまった。。。
manage.pyではなく、wsgi.py

import pymysql
pymysql.install_as_MySQLdb()

を書いたら治った。

誤りがあればコメントくださると嬉しいです。。。