Django新手教程2堡赔,搭建虛擬環(huán)境

接下來锰茉,我們并不急于安裝django,我們先安裝一個叫virtualenvwrapper的東西(它里面集合了virtualenv)這個東西可以幫我們新建恕曲,啟用鹏氧,關閉虛擬環(huán)境,我們已經(jīng)安裝好了python佩谣,如果直接就安裝各種package把还,可能會造成系統(tǒng)混亂,因為package之間會有依賴的稿存,我杜撰一個比方笨篷,你現(xiàn)在直接裝django,他會依賴其他的包(開發(fā)django的人也不會總想著重新造輪子瓣履,有些功能既然別人寫好了率翅,拿來用就是了),比如pytz這個包(你裝django的時候如果你的系統(tǒng)沒有安裝pytz袖迎,他會自動幫你裝上的)冕臭,django依賴的是pytz的這個2017.2版本的某個功能,然后假如某一天燕锥,你要做別的項目辜贵,比如flask,假如它依賴的是pytz2017.3(我隨口編的归形,不存在這個版本的pytz包)那么你安裝flask的時候就會將pytz自動升級為pytz2017.3.而這個新版本的pytz可能取消了django所依賴的功能或者修改了接口托慨,那么,你再運行django就悲劇了暇榴,對于新手來說厚棵,這種悲劇就像玄學一樣,前兩天django還跑地好好的蔼紧,代碼啥的沒改婆硬,咋今天就不行了呢?這個例子雖然是杜撰的奸例,但是彬犯,卻很有可能存在,而且情況可能會更復雜,所以谐区,我們需要保證系統(tǒng)的純凈湖蜕,從上面的例子我們可以看到,既然我們決定用python做django項目卢佣,就別再去搞其他的比如flask什么項目了重荠,這樣就不會出現(xiàn)玄學問題,但是虚茶,只學django怎么行呢,大家都是孜孜不倦的好孩子仇参,將來肯定不會滿足于django嘹叫,肯定會往什么機器學習,什么大數(shù)據(jù)那方面蹭一蹭诈乒,所以罩扇,我們就需要用到虛擬環(huán)境了,python剛裝好怕磨,環(huán)境那么純潔喂饥,你舍得污染嗎?這肯定不行啊肠鲫,所以员帮,我們需要復制一份python的運行環(huán)境,這個復制的環(huán)境就叫虛擬環(huán)境导饲,我們在這個虛擬環(huán)境里裝django捞高,裝它依賴的包,反正隨便整渣锦,原生的python環(huán)境還是保持著純潔的心靈硝岗。這時你還想學習flask,你可以繼續(xù)復制一份原始的python環(huán)境袋毙,然后這個作為第二個虛擬環(huán)境型檀,在里面裝flask和相關的package,這些環(huán)境之間互不干擾听盖,哪天虛擬環(huán)境玩崩了胀溺,直接刪除就是,簡單得很媳溺,而要是原始環(huán)境玩崩了月幌,很多人甚至都不知道怎樣才能卸載干凈,所以咱們盡量別在原生環(huán)境上整項目悬蔽。
我們雖然是新手扯躺,像使用虛擬環(huán)境這樣的習慣還是要培養(yǎng)的,將來肯定受益良多,不會被各種系統(tǒng)兼容录语,版本混亂等破事搞得焦頭爛額倍啥。
為了安裝虛擬環(huán)境管理工具,我們只需打開cmd輸入如下的語句(注意尾巴的win不能少)
pip install virtualenvwrapper-win
實際起作用的virtualenv澎埠,它能夠復制原始環(huán)境虽缕,做這些工作,但是蒲稳,這玩意用戶界面設計不好氮趋,直接用比較反人類,于是就有大神出了virtualenvwrapper將virtualenv包裝一下江耀,使用起來更加方便(沒錯社區(qū)大神就是這么牛逼剩胁,絕不允許反人類的存在),而且祥国,你安裝virtualenvwrapper-win昵观,他會自動安裝vritualenv,非常省心舌稀。
這時你還不能直接使用這個工具啊犬,因為,你需要告訴這個工具壁查,你要把虛擬環(huán)境復制到什么地方觉至,因此,需要添加系統(tǒng)環(huán)境變量潮罪,首先康谆,我們在D盤根目錄新建一個叫'py_env'的文件夾來存放我們的虛擬環(huán)境。
接著嫉到,找到一個’我的電腦‘的圖標沃暗,右鍵,選擇屬性

選擇高級系統(tǒng)設置


選擇環(huán)境變量


選擇新建


變量名輸入: WORKON_HOME
變量值何恶,可以通過瀏覽目錄孽锥,選擇我們剛剛新建的py_env,確定就可以了细层。


新建好系統(tǒng)環(huán)境變量惜辑,一路確定,應用疫赎。
關掉cmd盛撑,再重新開一個新的cmd,這時新添加的系統(tǒng)環(huán)境變量就可以使用了捧搞。
我們輸入(下面的jdanog_env是我為虛擬環(huán)境起的名字抵卫,你可以隨意起狮荔,不過要記住它,否則就得跑到我們之前新建的py_env目錄下看我們裝了哪些虛擬環(huán)境)
mkvirtualenv django_env

你就會看到提示說介粘,新的python運行器已經(jīng)存到py_env下的django_env目錄了殖氏。
這時你可以看到cmd目錄的前面多了一個(django_env),


說明我們正在使用django_env虛擬環(huán)境(或者說姻采,django_env已激活)雅采,這里為了幫助新手理解虛擬環(huán)境,我多說幾句慨亲,所謂虛擬環(huán)境婚瓜,并不是要我們把所需要的資源都放到django_env的目錄下,實際上刑棵,這個目錄里面的東西跟C:/programs files/python35/(你python的安裝目錄)差不多闰渔,你的代碼可以放在任何地方(一般來說,也沒人會把代碼放到C:/programs files/python35/里面铐望,同理,我們的django項目代碼一般也不會放到django_env目錄下面茂附,而是任意一個地方正蛙,比如,我在D盤营曼,新建一個python_project的目錄乒验,把代碼放進去,當然我們要運行該項目的代碼時蒂阱,我們就要用到django_env的環(huán)境锻全,所以需要django_env處于激活狀態(tài),這時录煤,運行你的代碼的編譯器是處于django_env目錄下的那個鳄厌,而不是原生的編譯器,因為我們要把django相關的package裝到虛擬環(huán)境中妈踊,所以了嚎,以后如果你在原生環(huán)境下跑django項目的代碼就會出錯,因為原生環(huán)境并沒有裝django相關的package
在django_env激活的狀態(tài)下廊营,我們輸入
pip list

你會看到這里列出來的package比之前原生環(huán)境少很多歪泳,因為在復制原生環(huán)境成虛擬環(huán)境的時候,為了讓環(huán)境更加清爽露筒,很多package就不復制過來了呐伞,其實是在鼓勵你自己安裝需要的package(原來自帶的package版本可能和你做項目所需要的版本有沖突,又或者有些自帶package確實用不上)慎式,我們這次是做django伶氢,那么趟径,我們首先要安裝的就是django這個package。請再次確認django_env是激活狀態(tài)鞍历,也就是舵抹,你的cmd的提示符前面有(django_env)的字樣,否則一不小心裝到原生環(huán)境里面不就翻車了么劣砍。確認完畢惧蛹,請輸入
pip install django
稍等片刻就安裝成功了,這時再
pip list

仔細看一下刑枝,比之前多了django和pytz香嗓,說明django是依賴pytz這個包的,至于依賴哪些功能装畅,咱們就別管了靠娱。
我們的虛擬環(huán)境django_env處于激活狀態(tài),所有的python程序都是由虛擬環(huán)境的編譯器執(zhí)行的掠兄,如果我們想退出虛擬環(huán)境像云,只要敲入
deactivate
就可以退出虛擬環(huán)境了,這時cmd提示符前面的(django_env)消失了蚂夕,我們又回到了原生環(huán)境
這時再運行
pip list
你找不到django的迅诬,因為,我們的原生環(huán)境很純潔婿牍,并沒有安裝django侈贷,相應地你運行
django-admin startproject mysite
會出現(xiàn)錯誤。
假設等脂,你現(xiàn)在對學習django失去了興趣俏蛮,想學flask,所以上遥,首先要為flask新建一個虛擬環(huán)境搏屑,那么你可以運行
mkvirtualenv flask_env (注這個flask_env是我隨便起的,你也可以隨便起露该,但是你要記住這個名字睬棚,否則要到py_env看有哪些虛擬環(huán)境)
來創(chuàng)建新的虛擬環(huán)境,創(chuàng)建后自動激活解幼,這時抑党,你可以安裝flask。假如它依賴pytz的其他版本撵摆,那就裝其他版本底靠,和我們之前裝在django_env的pytz互不干涉。然后你發(fā)現(xiàn)flask沒人像我寫django教程那樣詳細講解如何搭建環(huán)境和虛擬環(huán)境特铝,于是暑中,你從門外到放棄壹瘟,敲入
deactivate
退出flask_env環(huán)境,想要再回到django的懷抱鳄逾,敲入
workon django_env
表示work on the django我們就又進入django_env的虛擬環(huán)境了稻轨,一切都是那么親切,等等雕凹,先
deactivate
回到原生環(huán)境殴俱,我們要掩蓋剛剛三秒鐘放棄flask的尷尬,敲入
rmvirtualenv flask_env
表示remove virtual environment枚抵,刪除該虛擬環(huán)境(為什么要退回到原生環(huán)境才能刪除flask_env呢线欲,因為,搞這些事情的是virtualenvwrapper汽摹,而這東西是安裝在原生環(huán)境上的李丰,所以要在原生環(huán)境上做這些事情,比如創(chuàng)建虛擬環(huán)境逼泣,刪除虛擬環(huán)境趴泌,激活虛擬環(huán)境等,你在虛擬環(huán)境上做這些是無效的拉庶,因為虛擬環(huán)境并沒有安裝virtualenvwrapper的包踱讨,也不建議你在虛擬 環(huán)境里再搞這套了,咱們不玩俄羅斯套娃)砍的,最后,一切都是神不知鬼不覺莺治,其他的一切都沒有受到影響廓鞠。虛擬環(huán)境的管理真的太方便了,這道理這社會上是行不通的谣旁,俗話說要想人不知除非己莫為床佳,偷吃想抹嘴哪有像刪除虛擬環(huán)境那樣簡單干凈,遲早會露餡的榄审。
現(xiàn)在砌们,美滋滋地,放心地搁进,敲入
workon django_env
繼續(xù)我們的項目吧浪感。

自此,我們的開發(fā)環(huán)境差不多就搭好了饼问。啰嗦講了很多影兽,但是,作為新手莱革,我深刻體會到峻堰,新手學編程讹开,最怕的就是搭環(huán)境。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末捐名,一起剝皮案震驚了整個濱河市旦万,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镶蹋,老刑警劉巖成艘,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梅忌,居然都是意外死亡狰腌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門牧氮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來琼腔,“玉大人,你說我怎么就攤上這事踱葛〉ち” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵尸诽,是天一觀的道長甥材。 經(jīng)常有香客問我,道長性含,這世上最難降的妖魔是什么洲赵? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮商蕴,結果婚禮上叠萍,老公的妹妹穿的比我還像新娘。我一直安慰自己绪商,他們只是感情好苛谷,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著格郁,像睡著了一般腹殿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上例书,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天锣尉,我揣著相機與錄音,去河邊找鬼决采。 笑死悟耘,一個胖子當著我的面吹牛,可吹牛的內容都是我干的织狐。 我是一名探鬼主播暂幼,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼筏勒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了旺嬉?” 一聲冷哼從身側響起管行,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎邪媳,沒想到半個月后捐顷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡雨效,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年迅涮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徽龟。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡叮姑,死狀恐怖,靈堂內的尸體忽然破棺而出据悔,到底是詐尸還是另有隱情传透,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布极颓,位于F島的核電站朱盐,受9級特大地震影響,放射性物質發(fā)生泄漏菠隆。R本人自食惡果不足惜兵琳,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骇径。 院中可真熱鬧闰围,春花似錦、人聲如沸既峡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽运敢。三九已至,卻和暖如春忠售,著一層夾襖步出監(jiān)牢的瞬間传惠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工稻扬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卦方,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓泰佳,卻偏偏與公主長得像盼砍,于是被迫代替她去往敵國和親尘吗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內容

  • 22年12月更新:個人網(wǎng)站關停浇坐,如果仍舊對舊教程有興趣參考 Github 的markdown內容[https://...
    tangyefei閱讀 35,189評論 22 257
  • 環(huán)境管理管理Python版本和環(huán)境的工具睬捶。p–非常簡單的交互式python版本管理工具。pyenv–簡單的Pyth...
    MrHamster閱讀 3,798評論 1 61
  • # Python 資源大全中文版 我想很多程序員應該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,503評論 6 427
  • 本書介紹 你是不是對Django的學習感到迷茫近刘?是不是對網(wǎng)上零星的教程感到絕望擒贸?是不是苦于沒有可以迅速上手的實例而...
    阡陌3536閱讀 1,323評論 0 0
  • 文/韓大爺?shù)碾s貨鋪 1找準根源案淋,別讓他人為你的情緒買單座韵。 我的讀者朋友們中,青少年居多哎迄。我也常常能聽到類似的抱怨:...
    韓大爺?shù)碾s貨鋪閱讀 57,725評論 689 2,997