スクリプトのお勉強 技術

CentOS7 + Django2.2でSQlite3を使用する方法

投稿日:

そのままだとエラーになる

素の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だと一発で作れそうですが。

-スクリプトのお勉強, 技術

執筆者:

関連記事

ワンライナーから使いそうなのを抜粋

ワンライナー多すぎ、、 https://linuxcommandlibrary.com/basic/oneliners は膨大なワンライナーがあっていいのですが、多すぎて、何が使えるかぱっと見分かりま …

Pipenvでライブラリ(*.whl)をキャッシュする方法

仕事でWebアプリケーションを作成した場合、ガンガンとライブラリのバージョンを上げたりはしない場合があります。 そして、長期間放置されるタイプのWebアプリケーションの場合、使用しているライブラリが、 …

神奈川県横浜市神奈川区のワクチン接種地図作った

作ってみた。東白楽駅を真ん中にしてみました。なんとなく真ん中な感じなので。 データ元 以下のテキストデータからゴニョゴニョしてます。 https://www.city.yokohama.lg.jp/k …

Python3/ある日付から日付までの月/日/時間ごとの時刻を算出する

小ネタです。 要するに、時刻A と 時刻B を指定したときの、各時間間隔での時刻取得したかったです。 当初はdateutilを使う方法でなく、自前で実装しようと思ったのですが、面倒なことに気づきました …

SPAMチェック for OCN の開発

前回、Thunderbirdプラグインの概要を書いたので、今回は開発したプラグインについて書きます。 SPAMチェック for OCNとは 以下の機能を持ったThunderbirdのアドオン(プラグイ …