2023年7月25日火曜日

Django: SQLiteが動作しない場合

Amazon Linux2 または CentOS7上でDjangoをインストールして、「$ python manage.py migrate」すると以下のようなエラーが出ました。

django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher.

SQLiteのバージョンが古いということで、アップグレードしても同じようなエラーが出ます。

こちらのサイト https://stackoverflow.com/questions/66380006/django-deterministic-true-requires-sqlite-3-8-3-or-higher-upon-running-python によれば、以下のようにすればよいとのことでした。

まず、pysqlite3 と pysqlite3-binary をインストールします。(仮想環境です)

(venv)$ pip install pysqlite3

(venv)$ pip install pysqlite3-binary

そして、以下のbase.pyの一部を書き換えます。

venv/python3.9/site-packages/django/db/backends/sqlite3/base.py

# from sqlite3 import dbapi2 as Database # annotation

 ↓ 以下のようにします。

from pysqlite3 import dbapi2 as Database # import pysqlite3

再度 migrateし、ウェブサーバーを再起動したところ動作するようになりました。


0 件のコメント:

コメントを投稿