そのままだとエラーになる
素のCentOS7で、SQLite3を使用して、Djangoアプリを起動すると以下のエラーになります。
File "/opt/webapps/django_upload/.venv/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 63, in check_sqlite_version raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version) django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
対処(1) SQLite3のソースからコンパイルする。
SQLite3のソースを持ってきてコンパイルし、/usr/local/libにインストールして、そのライブラリを見るようにする方法です。
ソースに関しては、snapshotを持ってきてしまいましたが、本来は以下のような感じがいいようです。
https://www.sqlite.org/2019/sqlite-amalgamation-3280000.zip
具体的な手順は以下です。
$ wget https://www.sqlite.org/snapshot/sqlite-snapshot-201906171413.tar.gz $ tar xvfz sqlite-snapshot-201906171413.tar.gz $ cd sqlite-snapshot-201906171413 ### /usr/local以下にインストール $ ./configure --prefix=/usr/local ; make $ sudo make install ### sqlite ライブラリを参照するように追加 $ sudo echo "/usr/local/lib" >> /etc/ld.so.conf.d/sqlite.conf $ sudo ldconfig ### 確認 $ /usr/local/bin/pipenv run python manage.py shell Python 3.6.8 (default, Apr 25 2019, 21:02:35) Type 'copyright', 'credits' or 'license' for more information IPython 7.6.1 -- An enhanced Interactive Python. Type '?' for help. In [1]: import sqlite3 In [2]: sqlite3.sqlite_version Out[2]: '3.29.0'
対処(2) 。。。
と書きたかったのですが、現状だと上記が一番簡単なようです。
おわりに
これようのRPMでも作ったほうがいいかな。。fpmだと一発で作れそうですが。