【踩坑】linux安裝配置django環(huán)境踩坑記

目錄:
1:linux用django startproject報錯
2:python manage.py runserver報錯:SQLite 3.8.3 or later is required (found 3.7.17)
3:無法直接使用pip3或pip命令
4:安裝uwsgi報錯:plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory
5:安裝uwsgi報錯:ModuleNotFoundError: No module named '_ctypes'
6:uwsgi啟動報錯:probably another instance of uWSGI is running on the same address
7:安裝uwsgi報錯:Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-zcnqe9e2/uwsgi/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-f2pzir0h-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-zcnqe9e2/uwsgi/
8:域名/admin報錯:Invalid block tag on line 23: 'translate'

坑1:linux用django startproject報錯??

[root@iZo4t6je6mwbb8Z django]# django-admin.py startproject demo1
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/django/bin/django-admin.py", line 5, in <module>
    from django.core import management
ImportError: No module named django.core

原因:

linux默認(rèn)是有python2的阳惹,但我又安裝了python3砚著,django是在python3的lib里筛婉,所以執(zhí)行django-admin.py startproject learn辩棒,調(diào)用的python環(huán)境是python2的涝影,所以找不到core.management嗤详。

解決方案:

cd /usr/bin
mv python python2            #原先的python是python2.7的軟連接
mv python3 python            #現(xiàn)在修改python為python3

實際演示:

[root@iZo4t6je6mwbb8Z django]# cd /usr/bin
[root@iZo4t6je6mwbb8Z bin]# mv python python2
mv: overwrite ‘python2’? y
[root@iZo4t6je6mwbb8Z bin]# mv python3 python
[root@iZo4t6je6mwbb8Z bin]# cd /home/liujia/django
[root@iZo4t6je6mwbb8Z django]# django-admin.py startproject demo1
[root@iZo4t6je6mwbb8Z django]# ls
demo1
[root@iZo4t6je6mwbb8Z django]# cd demo1
[root@iZo4t6je6mwbb8Z demo1]# ls
demo1  manage.py
[root@iZo4t6je6mwbb8Z demo1]# 

坑2:python manage.py runserver報錯:SQLite 3.8.3 or later is required (found 3.7.17)

原因:

阿里云自帶的centos的sqlite版本低了

解決方案:

#更新SQLite 3
#獲取源代碼(在主目錄中運行)
[root@djangoServer ~]# cd ~
[root@djangoServer ~]# wget https://www.sqlite.org/2019/sqlite-autoconf-3270200.tar.gz
[root@djangoServer ~]# tar -zxvf sqlite-autoconf-3270200.tar.gz
 
#構(gòu)建并安裝
[root@djangoServer ~]# cd sqlite-autoconf-3270200
[root@djangoServer sqlite-autoconf-3270200]# ./configure --prefix=/usr/local
[root@djangoServer sqlite-autoconf-3270200]# make && make install
[root@djangoServer sqlite-autoconf-3270200]# find /usr/ -name sqlite3
/usr/bin/sqlite3
/usr/lib64/python2.7/sqlite3
/usr/local/bin/sqlite3
/usr/local/python3/lib/python3.7/site-packages/django/db/backends/sqlite3
/usr/local/python3/lib/python3.7/sqlite3
[root@djangoServer sqlite-autoconf-3270200]# 
 
#不必要的文件礁遣,目錄刪除
[root@djangoServer sqlite-autoconf-3270200]# cd ~
[root@djangoServer ~]# ls
anaconda-ks.cfg  sqlite-autoconf-3270200  sqlite-autoconf-3270200.tar.gz
[root@djangoServer ~]# 
[root@djangoServer ~]# rm -rf sqlite-autoconf-3270200.tar.gz
[root@djangoServer ~]# rm -rf sqlite-autoconf-3270200
 
#檢查版本
## 最新安裝的sqlite3版本
[root@djangoServer ~]# /usr/local/bin/sqlite3 --version
3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
[root@djangoServer ~]# 
 
## Centos7自帶的sqlite3版本
[root@djangoServer ~]# /usr/bin/sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
[root@djangoServer ~]# 
 
## 可以看到sqlite3的版本還是舊版本矾削,那么需要更新一下郎逃。
[root@djangoServer ~]# sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
[root@djangoServer ~]# 
 
## 更改舊的sqlite3
[root@djangoServer ~]# mv /usr/bin/sqlite3  /usr/bin/sqlite3_old
 
## 軟鏈接將新的sqlite3設(shè)置到/usr/bin目錄下
[root@djangoServer ~]# ln -s /usr/local/bin/sqlite3   /usr/bin/sqlite3
 
## 查看當(dāng)前全局sqlite3的版本
[root@djangoServer ~]# sqlite3 --version
3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
[root@djangoServer ~]# 
 
#將路徑傳遞給共享庫
# 設(shè)置開機自啟動執(zhí)行哥童,可以將下面的export語句寫入 ~/.bashrc 文件中,如果如果你想立即生效褒翰,可以執(zhí)行source ?/.bashrc 將在每次啟動終端時執(zhí)行
[root@djangoServer ~]# export LD_LIBRARY_PATH="/usr/local/lib"
 
#檢查Python的SQLite3版本
[root@djangoServer ~]# ipython3
Python 3.7.1 (default, May  3 2019, 09:55:04) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.5.0 -- An enhanced Interactive Python. Type '?' for help.
 
In [1]: import sqlite3                                                     
 
In [2]: sqlite3.sqlite_version                                             
Out[2]: '3.27.2'
 
In [3]: exit                                                               
[root@djangoServer ~]# 
 
#啟動開發(fā)服務(wù)器
[root@djangoServer ~]# cd /work/
[root@djangoServer work]# ls
db.sqlite3  manage.py  polls  test_django
[root@djangoServer work]# python3 manage.py runserver

坑3:無法直接使用pip3或pip命令

原因:

未知

解決方案1:

使用python -m pip代替

解決方案2:另一個懷疑能解決的方案是安裝libffi-devel贮懈,然后重新從./configure這一步開始重新安裝python

yum install libffi-devel 

坑4:安裝uwsgi報錯:plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory

原因:

未知

解決方案:

yum install python-devel.x86_64

坑5:安裝uwsgi報錯:ModuleNotFoundError: No module named '_ctypes'

yum install libffi-devel 

從./configure這一步開始重新安裝python

坑6:uwsgi啟動報錯:probably another instance of uWSGI is running on the same address

可以用命令殺掉這個端口在重啟:

sudo fuser -k 8080/tcp

坑7:安裝uwsgi報錯:Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-zcnqe9e2/uwsgi/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-f2pzir0h-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-zcnqe9e2/uwsgi/

yum install python3-devel -y

坑8:Invalid block tag on line 23: 'translate'

vi 到具體文件,執(zhí)行替換命令:

:%s#translate#trans#g
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末优训,一起剝皮案震驚了整個濱河市朵你,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌揣非,老刑警劉巖抡医,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異早敬,居然都是意外死亡忌傻,警方通過查閱死者的電腦和手機大脉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來水孩,“玉大人镰矿,你說我怎么就攤上這事『摄担” “怎么了衡怀?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長安疗。 經(jīng)常有香客問我抛杨,道長,這世上最難降的妖魔是什么荐类? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任怖现,我火速辦了婚禮,結(jié)果婚禮上玉罐,老公的妹妹穿的比我還像新娘屈嗤。我一直安慰自己,他們只是感情好吊输,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布饶号。 她就那樣靜靜地躺著,像睡著了一般季蚂。 火紅的嫁衣襯著肌膚如雪茫船。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天扭屁,我揣著相機與錄音算谈,去河邊找鬼。 笑死料滥,一個胖子當(dāng)著我的面吹牛然眼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播葵腹,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼高每,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了践宴?” 一聲冷哼從身側(cè)響起觉义,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浴井,沒想到半個月后晒骇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年洪囤,在試婚紗的時候發(fā)現(xiàn)自己被綠了徒坡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡瘤缩,死狀恐怖喇完,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情剥啤,我是刑警寧澤锦溪,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站府怯,受9級特大地震影響刻诊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜牺丙,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一则涯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧冲簿,春花似錦粟判、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吝沫,卻和暖如春呻澜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背野舶。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宰衙,地道東北人平道。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像供炼,于是被迫代替她去往敵國和親一屋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容