AWS Cloud9で ライブラリを色々アップデートしていると以下に遭遇。
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
というエラーが出たのでアップデートをする方法
参考:https://qiita.com/rururu_kenken/items/8202b30b50e3bfa75821
# SQLite3を最新化する
# ソースを取得 (ホームディレクトリで実行してます)
$ cd
# バージョンは「https://www.sqlite.org/download.html」で確認して、
# 新しいバージョンのファイル名を指定してください (2019/12/06追記)
# 例) SQLite 3.31.1の場合
$ wget https://www.sqlite.org/2020/sqlite-autoconf-3310100.tar.gz
$ tar xvfz sqlite-autoconf-3310100.tar.gz
# ビルドしてインストール
$ cd sqlite-autoconf-3310100
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
$ sudo find /usr/ -name sqlite3
# コマンド結果
# /usr/lib64/python2.7/sqlite3と/usr/lib64/python3.7/sqlite3はディレクトリ
/usr/bin/sqlite3
/usr/lib64/python2.7/sqlite3
/usr/lib64/python3.7/sqlite3
/usr/local/bin/sqlite3
# 不要なファイル、ディレクトリ削除
$ cd
$ rm sqlite-autoconf-3310100.tar.gz
$ rm -rf ./sqlite-autoconf-3310100
# バージョン確認
$ /usr/local/bin/sqlite3 --version
3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837bb4d6
$ /usr/bin/sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
$ sqlite3 --version
3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837bb4d6
$ sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
$ sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
# 共有ライブラリへパスを通す
# vi ~/.bashrcで設定を追加(すぐに反映する場合 source ~/.bashrc)しないとターミナルを起動するたびに実行することになります
$ export LD_LIBRARY_PATH="/usr/local/lib"
# PythonのSQLite3バージョン確認
$ python
Python 3.7.4 (default, Dec 13 2019, 01:02:18)
[GCC 7.3.1 20180712 (Red Hat 7.3.1-6)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.31.1'
>>> exit()