読者です 読者をやめる 読者になる 読者になる

【Django】ImportError: No module named 'MySQLdb'エラーへの対応

Django Python

DjangoからMySQLへ接続するためにPyMySQLというドライバーを使ってみたのだが以下のようなエラーが発生

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/mysql/base.py", line 25, in <module>
      import MySQLdb as Database
      ImportError: No module named 'MySQLdb'

During handling of the above exception, another exception occurred:

・・・

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

環境は以下
CentOS 6.7 / Python 3.5.2 / MySQL 5.6 / Apache 2.2
Django 1.10 / mod-wsgi 4.5.5 / PyMySQL 0.7.6


で、状況は以下
python project/manage.py migrateを実行
=> エラーなし

python manage.py runserver ip:portで起動してブラウザでアクセス
=> エラーなし

apache経由でアクセス
=> エラー発生!!

という状況でした。Djangoの理解が全然浅いので何が悪いのかもわからずそもそも使うドライバーが違う??って思っていたら以下を追記したらいけました。。。

project/wsgi.py

import os
import sys

# これを追加
import pymysql
pymysql.install_as_MySQLdb()

manage.pyの方にも追加したのがすっかり頭になかった。。。

以上です