[Django]mysqlでmigrateした時にエラーが発生した場合の対処方法

django

最近、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

 



カテゴリー