Djangoプロジェクトをvpsにクローンし、今それを実行しようとしていますが、migrate
をしようとするとこのエラーが発生します。
$ python manage.py migrate
Django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
Sqliteのバージョンを確認したところ、3.7.17だったので、sqliteのWebサイトから最新バージョンをダウンロードして古いバージョンに置き換えました。バージョンを設定すると、次のようになります。
$ sqlite3 --version
3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
それでもプロジェクトを移行しようとすると、以前とまったく同じメッセージが表示され、新しいバージョンが見つかりません。私はLinuxを初めて使用するので、助けていただければ幸いです。
私は同じ問題に出くわしました。 sqlite 3.28.0をインストールしましたが、移行中に同じエラーが発生しました。
エラーの出力を確認すると、sqlite_version_info関数の呼び出しが原因で、base.pyファイルの63行目で例外が発生していることがわかりました。
このリンクで仕様を確認できます: DB-API 2.0仕様
sqlite3.sqlite_version_info
「整数のタプルとしてのランタイムSQLiteライブラリのバージョン番号。」
いくつかのテストの後に見つけた解決策は、LD_LIBRARY_PATHに新しいsqliteへのパスを設定することでした。
lD_LIBRARY_PATH = "/ usr/local/lib"をエクスポートします
この変数を設定した後、小さなpythonスクリプトで結果を確認できます:
from sqlite3 import dbapi2 as Database
print(Database.sqlite_version_info)
結果は次のようになります:(3,28,0)
このアプローチでDjango設定を移行して続行できます。他の解決策が見つかる場合に備えて、この投稿を更新します。
私にとって、 Django を以前のバージョンにダウングレードして解決しました:
pip install Django==2.1.* --user