[Python/Django] 「True requires SQLite 3.8.3 or higher」というエラーが出た時の解決方法

Python

「実践Django Pythonによる本格Webアプリケーション開発」という書籍で勉強中です。「$ python manage. py runserver」を実行する時に、以下のようなエラーが発生しました。

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

この解決方法についてネットで調べるといくつか記事が出てきますが、私の環境では問題を解決できませんでした。

結局、PythonとDjangoのバージョンを書籍のバージョンと合わせる(ダウングレード)ことでエラーが出なくなりました。

Python3.9.0
Django3.2

ちなみに、Python 3.9.2、Django 3.2でもエラーが発生しました。

Python 3.9.0をインストール

Python 3.9.0のファイルをダウンロード。

https://www.python.org/downloads/source/

ユーザーのホームディレクトリにアップロード。

Python 3.9.0をインストール。

$ tar xJf Python-3.9.0.tar.xz
$ cd Python-3.9.0
$ ./configure
$ make
$ sudo make install

現在インストールされているDjangoをアンインストール

$pip freeze
Django==4.1
$pip uninstall Django==4.1

Django 3.2をインストール

バージョンを指定してDjangoをインストール

pip install django==3.2

おわりに

ダウングレードで解決しましたが、今後のことを考えると根本的な問題が解決できていないので、解決方法がわかり次第追記します。

広告