スクリプトのお勉強 技術

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

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

執筆者:

関連記事

FastAPIでAPIを作ってみる(その1)

勉強として、FastAPIを使用して、実際にAPIを作成し、起動しようと思います。目標としては、本番運用用の設定まで行いたいと思います。 FastAPIとは FastAPIとは、Pythonによる、W …

Nuxt.jsのFormで入力/確認/完了フォームを作成してみた(その1)

背景 今回は、Webアプリケーションの、フロントエンド系のお話です。ほとんどの場合、バックエンドなのですが、時々フロントエンドもするんですよね。。 私の派遣先では、入力フォームを以下のように分ける要望 …

めっちゃ冷や汗。。(^^;;)

めっちゃ冷や汗が出たので、書いておこう。。 $ ls [‘ [‘という名のファイルを無意識に作ったらしい。もちろん意図的ではない。 なんとなく、消そうとして、、、 $ rm -rf “[\ …

Python3 – django-webtest

忙しいので断片だけ。。 DjangoでWebブラウザからアクセスする感じでテストする、やり方の一つです。以前にやったように、 Seleniumからやってもいいのすが、そこまでじゃない場合の単体テスト方 …

良いタブレットない問題

BMAX maxpad I11が故障した この記事で新しいタブレット買ったのですが、2ヶ月程度で故障しました。。 正確には、指に何も反応しなくなってしまいました。 ダメだったので修理依頼 いろいろして …

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