linux部署django啟動專案報錯誤
阿新 • • 發佈:2020-12-16
啟動後報以下錯誤:
以上原因有可能是你sqlite版本問題,可以上級版本:如下:
1、先下載、編譯、安裝SQLite
引擎
到SQLite
官網的下載頁面:https://sqlite.org/download.html 這裡是最新的版本,我們就安裝它吧。
原始碼有兩個檔案,我們下第二個(sqlite-autoconf-3280000.tar.gz
),因為這個有配置檔案。複製其連結,然後在終端執行:
wget https://sqlite.org/2019/sqlite-autoconf-3280000.tar.gz |
tar zxvf sqlite-autoconf-3280000.tar.gz |
cd sqlite-autoconf-3280000 |
./configure |
make && make install |
以預設方式安裝後,會把編譯好的二進位制檔案安裝到/usr/local/lib
, 把標頭檔案sqlite3.h sqlite3ext.h
安裝到/usr/local/include
,我們需要知道這兩個路徑。
2、下載、編譯、安裝Python
請先照此文的方法做: https://e2c.net/2019/03/17/61.html
唯一的區別是,在編譯時略有不同。
原來的編譯過程:
cd /usr/local/python-3.7/ |
./configure --prefix=/usr/local/sbin/python-3.7 |
make && make install |
修改為:
cd /usr/local/python-3.7/ |
LD_RUN_PATH=/usr/local/lib ./configure LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" --prefix=/usr/local/sbin/python-3.7 |
LD_RUN_PATH=/usr/local/lib make |
make && make install |
照此安裝後,已經可以使用最新版SQLite
Python 3.7.0 (default, Jun 21 2019, 07:31:39) |
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux |
Type "help", "copyright", "credits" or "license" for more information. |
'3.28.0' |
pip3 install pysqlite3
pip3 install pysqlite3-binary
修改db程式碼匯入庫
vi /usr/local/python3/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py
# 修改內容
# from sqlite3 import dbapi2 as Database (註釋掉這段)
from pysqlite3 import dbapi2 as Database # 啟用pysqlite3
# :wq 儲存即可
然後啟動出現一下介面,有報錯可以執行途中的遷移命令在執行:
這樣就ok了;(看了一天才解決,整合文件,有借鑑別人的,還好解決了,記錄一下)