問題
在 centos 7.9 上面運(yùn)行 django 時(shí)出現(xiàn):
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
原因是系統(tǒng)自帶 sqlite3 版本太低,解決方法是下載源碼編譯升級(jí)就可以了筐骇。
升級(jí)
安裝依賴
yum install -y wget tar gzip gcc make expect
# 下載源碼
wget --no-check-certificate https://www.sqlite.org/src/tarball/sqlite.tar.gz
# 編譯
tar zxvf sqlite.tar.gz
cd sqlite
export CFLAGS="-DSQLITE_ENABLE_FTS3 \
-DSQLITE_ENABLE_FTS3_PARENTHESIS \
-DSQLITE_ENABLE_FTS4 \
-DSQLITE_ENABLE_FTS5 \
-DSQLITE_ENABLE_JSON1 \
-DSQLITE_ENABLE_LOAD_EXTENSION \
-DSQLITE_ENABLE_RTREE \
-DSQLITE_ENABLE_STAT4 \
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \
-DSQLITE_SOUNDEX \
-DSQLITE_TEMP_STORE=3 \
-DSQLITE_USE_URI \
-O2 \
-fPIC"
export PREFIX="/usr/local"
#LIBS="-lm" ./configure --disable-tcl --enable-shared --enable-tempstore=always --prefix="$PREFIX"
LIBS="-lm" ./configure --enable-shared --enable-tempstore=always --prefix="$PREFIX"
make && make install
# 替換系統(tǒng)低版本 sqlite3
mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf
ldconfig
sqlite3 -version
再次啟動(dòng)運(yùn)行 django 就 ok 了债鸡。