Django環境搭建
直接使用pip安裝django,安裝后要在環境變數中添加python安裝位置下的
Python\Python38-32\Scripts
Python\Python38-32\Lib\site-packages\django
這樣后面才能使用django的管理程式django-admin. py/django-admin
其他操作可以參考django
發現django支持熱多載,也算是和js差不多了
Django在linux環境下啟動遇到的問題
在windows中修改好環境變數即可使用Django,但在centos啟動時遇到sqlite版本不匹配的問題,使用更新sqlite的方式進行修復,
centos中默認自帶的sqlite版本為3.7.17,在使用最新版本django3.1.2時,由于需要的sqlite版本過低會導致.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).的問題,在設定中需要更新本地版本的sqlite,可以在sqlite官網下載回應的檔案到linux服務器,安裝更新即可
該安裝包可以在官網找到SQLite,找到最新版本的gz檔案并獲取下載鏈接,在linux中執行以下命令
wget https://www.sqlite.org/2020/sqlite-autoconf-3330000.tar.gz //下載的為當前最新的版本,不必按照這個也行
tar -zxvf sqlite-autoconf-3330000.tar.gz //解壓下載的問題
cd sqlite-autoconf-3330000 //跳轉到解壓的目錄
./configure //執行配置軟體
make
make install //安裝
cp sqlite3 /usr/bin/sqlite3 //將sqlite-autoconf-3330000 檔案夾下則sqlite3覆寫到系統的sqlite位置
sqlite3 -version //查看當前的sqlite版本
參考CentOS 升級sqlite3
一般到這里就結束了,但是在啟動django時依舊報那個錯誤,多次查看系統版本,發現的確是更新了,在網上有人指出是不是python3中的sqlite版本沒有更新,通過以下指令
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.1.0'
發現還是舊版本,之后發現其他人在安裝好系統sqlite后還配置了自動腳本,他們在linux系統的~/.bashrc中進行了修改,最后如下
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
export LD_LIBRARY_PATH="/usr/local/lib"
其實就是增加了export LD_LIBRARY_PATH="/usr/local/lib這一行,在查找資料后,發現是把/usr/local/lib作為庫包檔案的查詢備用路徑,網路上的解釋是
當執行函式動態鏈接.so時,如果此檔案不在預設目錄下'/lib' and '/usr/lib'.
那么就需要指定環境變數LD_LIBRARY_PATH
也就是手動添加了一個環境變數,和win類似,預設了就到該路徑下查找,實際上export指令可以直接在命令列上運行一次,也有一樣的效果,但export只在當前的登錄有效,也就是切換用戶或者重啟的時候就又要再來一次,所以將該指令卸載~/.bashrc里面,該檔案的為初始化檔案,每次登錄都將運行,所以就避免了手動輸入的問題,此時在python中測驗sqlite版本就沒問題了,再次回到django-project/HelloWorld位置,執行python3 manage.py runserver 0.0.0.0:8000,頁面將正常顯示,如果出現
運行django專案出現Invalid HTTP_HOST header: '192.168.1.111:8000'. You may need to add '192.168.1.111' to ALLOWED_HOSTS
則在專案的setting.py檔案中,找到ALLOWED_HOSTS = [’*’] #在這里請求的host添加了*
參考
Centos7 虛擬環境安裝Django 出現ImproperlyConfigured(‘SQLite 3.8.3 or later is required (found %s).’ %Database.sqlite_version)錯誤
LD_LIBRARY_PATH
設定 Linux 的 LD_LIBRARY_PATH 變數
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/259571.html
標籤:其他
