談談Python之Django搭建企業級官網(第一篇)

轉載請註明來源地址和原作者(CFishHome)

前沿

通過網易雲課堂開設的Django搭建企業級官網的學習,特此留下學習筆記記錄學習遇到的困難和心得。這也是一個長期的學習過程,相信一個好的產品都需要耐心和鑽研。本人有個小習慣,不太喜歡直接複製粘貼別人的知識筆記,喜歡自己測試別人的筆記後再自己總結,所以有不便之處請見諒。

虛擬環境

通常情況下,我們安裝好Python3.x或者Python2.x,都會擁有對應的一個Python環境(也稱之爲系統級的Python環境,也就是有Scripts文件夾的那個目錄環境),那麼當我們需要使用第三方包時,在命令行界面執行pip install xx的方式進行安裝,這樣安裝會將那個包安裝到你的系統級別的Python環境的某個文件夾中。這樣的方式會爲以後造成什麼樣的影響呢?假如我們一直是使用Django1.10寫網站,突然領導安排我們去維護一個使用Django0.9開發的網站,但是由於Django1.10不再兼容Django0.9的一些語法了,而我們Python環境只有Django1.10,所以維護起來着實不易,也不可能同一環境同時安裝兩個版本的Django,多少會有兼容衝突問題。正所謂一山(系統級Python環境)容不得二虎(兩個版本的Django),所以我們只要額外創造兩座山(兩個虛擬環境),分別容一隻虎不就解決問題了。所以,用兩個虛擬環境分別安裝兩個不同的Django版本來適配基於不同Django版本開發出來的項目。

下小節重點介紹兩種創建虛擬環境的軟件工具,分別是virtualenv和virtualenvwrapper,前者是少用的軟件工具(存在兩點缺陷,下小節會有總結),後者是常用的軟件工具(完全解決了virtualenv的兩點缺陷,方便操作虛擬環境)。所以,強烈建議使用virtualenvwrapper來創建虛擬環境。

virtualenv軟件工具

安裝virtualenv

virtualenv是用來創建虛擬環境的軟件工具,我們可以通過pip或者pip3來安裝,如下命令:

pip install virtualenv
pip3 install virtualenv

從上面我們可以看出pip和pip3命令的不同,如果電腦只安裝一個Python版本(py2或py3),那麼執行pip install virtualenv就會智能安裝到對應這個系統級別的python環境種。但若是電腦同時安裝了兩個python版本(py2和py3),那麼就要區分pip(執行的話安裝到py2環境中)和pip3(執行的話安裝到py3環境中)命令的使用。

利用virtualenv創建虛擬環境

打開CMD,在任意目錄下執行以下命令(注意,只有安裝virtualenv成功才能執行下面的命令),就創建虛擬環境了:

virtualenv [虛擬環境的名字]

如下圖:

談談Python之Django搭建企業級官網(第一篇)
創建虛擬環境完成後有兩個需要我們注意的問題:
1.這個虛擬環境是採用哪個作爲它的解釋器?

我們都知道不管安裝Python3.x還是Python2.x,在系統環境變量中都會自動添加一個對應一個Python版本的Scripts文件夾路徑。而虛擬環境相當於小型的系統級別的Python環境,所以虛擬環境也需要解釋器進行編譯運行我們創建的項目。如果你當前的Python3/Scripts的查找路徑在Python2/Scripts的前面,那麼將會使用python3作爲這個虛擬環境的解釋器,否則將會使用python2作爲這個虛擬環境的解釋器。如果只有一個版本,那麼自然使用這個版本作爲虛擬環境的解釋器了
2.我們創建的虛擬環境在哪個目錄可以找到?

前面我們是在任意目錄下執行創建虛擬環境的,成功創建會生成指定名字的目錄,這個目錄就是虛擬環境,所以虛擬環境在終端當前目錄(我的是C:\Users\Administrator\Desktop)下就可以找到。如下圖所示:

談談Python之Django搭建企業級官網(第一篇)

進入虛擬環境

虛擬環境創建成功後,如果我們要想在這個虛擬環境中安裝第三方包、卸載第三方包或者開發項目,前提是必須先進入虛擬環境,例如:如果沒進入這個虛擬環境,然後執行pip安裝命令,那麼虛擬環境作用就失效了,因爲默認又會將第三方包安裝到系統級別的Python環境當中,這尤其需要注意!
進入虛擬環境,在不同的操作系統中有不同的方式,一般分爲兩種:

  1. Windows操作系統

如果你的開發平臺在Windows操作系統,首先進入到虛擬環境的Scripts文件夾,然後執行activate激活命令進入虛擬環境。如下圖所示:

談談Python之Django搭建企業級官網(第一篇)

  1. *nix操作系統

如果你的開發平臺在*nix操作系統,那麼與windows系統執行activate激活命令目錄不一樣,通過執行以下命令進入虛擬環境:

source /path/to/virtualenv/bin/activate

退出虛擬環境

既然能進入虛擬環境,自然就可以退出虛擬環境,執行下面命令就可以完成:

deactivate

創建虛擬環境同時指定Python解釋器

前面說過了,如果一臺電腦有兩個Python版本,那麼作爲虛擬環境的解釋器就會依據系統環境變量Scripts路徑的前後位置來決定,如果一臺電腦只有一個Python版本,那麼虛擬環境默認就使用這個Python解釋器。然而,實際中,依靠環境變量路徑前後順序來決定解釋器,這種限制並不靈活。所以提供了-p參數來靈活指定具體的Python解釋器:

virtualenv -p C:\Python36\python.exe [虛擬環境名稱]

對於virtualenv的小總結

  1. 安裝virtualenv
    pip install virtualenv
    pip3 install virtualenv
  2. 創建虛擬環境
    virtualenv [虛擬環境的名字]
    virtualenv -p C:\Python36\python.exe [虛擬環境名稱]
  3. 進入虛擬環境
    在相應操作系統平臺下,執行activate激活命令進入虛擬環境。

  4. 退出虛擬環境
    deactivate

    評析virtualenv的缺陷

    上面virtualenv軟件包有兩點缺陷:
    1.每次創建虛擬環境都在終端當前目錄下創建,如果跑到多個目錄下創建虛擬環境,那麼會導致多個目錄都含有虛擬環境,那麼就變成不好管理了。

  5. 當進入某個虛擬環境時,都必須進入Scripts目錄下執行actiate命令才能激活虛擬環境,這十分不便捷。

virtualenvwrapper軟件工具

virtualenvwrapper這個軟件包可以讓我們管理虛擬環境變得更加簡單,完美的解決了virtualenv留下的兩個缺陷:跑到某個目錄下通過virtualenv來創建虛擬環境,並且激活的時候需要跑到具體的目錄下去激活。

安裝vritualenvwrapper

  1. *nix平臺下
pip install virtualenvwrapper
  1. windows平臺下
pip install virtualenvwrapper-win

Tips:在實際開發中,我們不需要先安裝virtualenv再安裝virtualenvwrapper
,virtualenvwrapper軟件包其實已經包含了virtualenv。所以在實際應
用中,我們只需要安裝virtualenvwrapper即可,因爲
virtualenvwraper是基於virtualenv擴展出來的。

virtualenvwrapper基本使用方法

1.創建虛擬環境

(1)在任意目錄下執行下面這條命令:

mkvirtualenv my_env

創建成功後,它會在你當前用戶(我的是C:\Users\Administrator\)路徑下創建一個Envs文件夾,然後將這個my_env虛擬環境安裝到這個目錄下,如果你電腦種安裝了python2和python3,並且兩個版本都安裝了virtualenvwrapper,那麼將會使用環境變量中第一個出現的Python版本來作爲這個虛擬環境的Python解釋器。如下圖所示:

談談Python之Django搭建企業級官網(第一篇)
上圖我們也可以看出,當創建成功後,默認會自動進入該虛擬環境中,我們執行deactivate命令退出當前虛擬環境。

(2)在使用 mkvirtualenv的時候,我們也還可以指定--python的參數來指定具體的 python解釋器路徑:

mkvirtualenv --python==C:\Python36\python.exe hy_env

2.切換到指定虛擬環境

workon my_env

如下圖所示:
談談Python之Django搭建企業級官網(第一篇)

3.退出當前虛擬環境

deactivate

4.刪除指定虛擬環境
刪除虛擬環境其實就是刪除my_env目錄。

rmvirtualenv my_env

如下圖所示:
從下圖可以看出Envs文件夾下已經不存在my_env虛擬環境了。
談談Python之Django搭建企業級官網(第一篇)

5.列出所有虛擬環境

lsvirtualenv

如下圖所示:
談談Python之Django搭建企業級官網(第一篇)

6.進入到虛擬環境所在的目錄

cdvirtualenv

由於測試需求,把my_env刪了,下圖列舉進入django-env虛擬環境爲例:

談談Python之Django搭建企業級官網(第一篇)

修改mkvirtualenv的默認路徑

前面學習mkvirtualenv創建虛擬環境的時候,說過它會默認在當前用戶路徑下創建一個Envs目錄,然後把虛擬環境安裝到這個Envs目錄下。那麼如何修改這個默認路徑呢?修改默認路徑的好處是什麼?仔細斟酌,假如我們自己新建一個專屬於自己的目錄,那麼把虛擬環境都放在自己創建目錄,那麼管理起來會十分方便,而且還是自己喜歡的目錄名(●'◡'●)。以下是修改默認路徑的方法:

在我的電腦->右鍵->屬性->高級系統設置->環境變量->系統變量 中添加一個參數 WORKON_HOME ,將這個
參數的值設置爲你需要的路徑。

如下圖所示:

談談Python之Django搭建企業級官網(第一篇)

配置好新的WORKON_HOME路徑後,然後關掉CMD窗口,重新啓動一個CMD,接着我們新創建一個虛擬環境來測試下成不成功,執行mkvirtualenv new_env命令,結果如下圖:

談談Python之Django搭建企業級官網(第一篇)
好了,修改默認目錄是成功的。注意,當修改了環境變量必須重啓CMD命令行窗口才會生效!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章