web-dev-qa-db-ja.com

Django SQLiteインスタンスを探しますか?(SQLite 3.8.3以降が必要です(3.7.17が見つかりました))

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を初めて使用するので、助けていただければ幸いです。

2
SIMMORSAL

私は同じ問題に出くわしました。 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設定を移行して続行できます。他の解決策が見つかる場合に備えて、この投稿を更新します。

0
Moreno

私にとって、 Django を以前のバージョンにダウングレードして解決しました:

pip install Django==2.1.* --user
0
Noam Manos