スクリプトのお勉強 技術

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

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

執筆者:

関連記事

Certbot(snap版)の起動が失敗した件

certbotの起動が失敗した 小ネタです。 なぜかSSL証明書が更新されず、Let’s Encrypt Expiry Botからたくさんメールが来るなーと思ったらcertbotの起動が失 …

Pipenv vs Poetry

1. はじめに Pythonでお仕事していると、どうしても、環境設定を行う必要があります。 本番環境で動作するように、設定しなければいけないからです。 いろんな状況はあるでしょうが、私がかかわるプロジ …

Djangoアプリサンプル – 画像ファイルアップロード + 顔モザイク(画像アップロード編)

仕事で使用している、Djangoについて、サンプルを作成してみようと思います。ここでは、画像ファイルのアップロードと顔モザイクを行うwebアプリを作成してみようと思います。 この記事ではファイルアップ …

Python(prophet)で体重予測

最近ダイエットしていて、少しだけ成果が出たので、グラフ表示しようと思ってました。そのついでにこれからの予測もしてみようということで、過去のデータを集め、グラフ表示してみます。 google Colab …

IPS/IDS(Suricata)のインストール

とても遅まきながら、暇なのでIPS/IDSをこのサイトに組み込んでみます。 Suricata SuricataというOSSのIPSがあるそうなのでインストールしてみます。 環境 CentOS7(7.9 …

google オプトアウト Click here to opt-out.