[Django]mysqlでmigrateした時にエラーが発生した場合の対処方法
最近、Djangoで新しくアプリケーションを作成しました。
MySQLをDBとして使いましたが最初のmigrteの段階でエラーが表示されました。
同じようにエラーに遭遇した人のためにメモとして対処方法を紹介します。
起こった問題
- 2019年5月に新しくDjangoアプリをローカルで作成した
- DBはMySQLを使用。pipでpymysqlをインストール
- migrateするとエラーが発生
さっくりまとめると、こんな感じです。
ちなみに発生したエラーは以下。
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__) django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
結論から言うと、最近Djangoのバージョンが2.2になったようで、pymysqlが新バージョンにまだ対応していないとのこと。
Djangoのバージョンを確認
ということで原因を特定するためDjangoのバージョンを確認してみます。
プロジェクトのコンソールから確認してみます。まずは問題なく動作しているDjangoアプリケーションで確認。
$ python >> import django >> django.get_version() '2.1.5'
バージョンが2.1系ですね。
次に最近、新しく作成したDjangoアプリケーションで確認。
$ python >> import django >> django.get_version() '2.2.1'
やっぱり。
というわけで解決方法は2.1系でDjangoをインストールすれば無問題です。
pip install django==2.1.5