1. 程式人生 > 其它 >準備開發環境(建立虛擬環境---使用pip工具和requirements.txt---使用國內映象源)

準備開發環境(建立虛擬環境---使用pip工具和requirements.txt---使用國內映象源)

一.建立虛擬環境

1.為什麼要使用虛擬環境?

  • 當我們在建立專案的時候,經常會使用第三方包和模組。而這些包和模組往後也會經常更新版本。例如。在我們建立第1個應用程式時,使用的框架是Django 1.0。當我們開發第2個應用程式時,Django版本已經升級到2.0。這意味著安裝一個python環境可能無法滿足每個應用程式的要求,這就導致需求存在衝突,只安裝版本1.0或2.0將導致某一個應用程式無法執行。
  • 如何解決這種問題呢?Python提供的解決方案就是建立多個虛擬環境(virtual environment)。一個虛擬環境就是一個目錄樹,其中安裝有特定的Python版本,以及許多其他包。
  • 對於不同的應用可以使用不同的虛擬環境,這樣就可以解決前面需求相沖突的問題。應用程式A擁有安裝了1.0版本的虛擬環境,而應用程式B則擁有安裝了2.0版本的另一個虛擬環境。如果應用程式B要求將某個庫升級到3.0版本,也不會影響應用程式A的虛擬環境。多個虛擬環境的使用如圖所示:

2.介紹virtualenv

Virtualenv 實際上是一個python包,它可以幫助我們搭建虛擬且獨立的python環境。

3.安裝virtualenv

使用如下命令進行安裝:

pip install virtualenv

安裝完成後,使用如下命令檢測virtualenv版本:

virtualenv --version

執行結果如下圖,說明安裝成功。

4.建立虛擬環境

接下來使用virtualenv命令建立Python虛擬環境。執行完成後,在執行的目錄下,會新增一個venv資料夾,它儲存著一個全新的虛擬環境。

virtualenv venv

# virtualenv+虛擬環境名 。按照慣例,一般虛擬環境會被命名為venv

5.啟用和關閉虛擬環境

在使用這個虛擬環境之前,需要將其啟用。不同的作業系統啟用venv虛擬環境的命令不同。

windows系統啟用虛擬環境命令:

venv\scripts\activate

macOS或Linux系統啟用虛擬環境命令:

source venv/bin/activate

啟用完成後,會在命令提示符前面新增venv標誌。如下圖所示:

使用完成後,使用deactivate命令關閉虛擬環境。所下圖所示:

二、使用pip包管理工具

Python提供了pip工具用來下載和管理第三方包。

可以使用如下命令來檢測是否可以使用pip工具:

pip --version

如下圖所示:

1.安裝包

pip使用如下命令安裝包:

pip install 包名

指定安裝版本:

pip install 包名==版本號
#說明:在虛擬環境下安裝的包只能在虛擬環境下使用,在全域性環境或其他虛擬環境下無法使用。

2.顯示全部安裝包

pip list

如圖所示:

此外,還可以使用如下命令檢視可以升級的包。

pip list --outdate

3.升級包

pip install --upgrage 包名

4.解除安裝包

pip uninstall 包名

5.以requirements引數的格式輸出

如果將一個已經開發完成的專案遷移到另一個全新的Python環境中,可以使用如下方法解決環境遷移的問題。

① 首先,使用如下命令將已經安裝好的包輸出到requirements.txt檔案中

pip freeze > requirements.txt
# 說明:在上述命令中,">requirements.txt"表示輸出到requirements.txt文字檔案中。輸出的檔名可以自己定義。按照慣例,通常使用requirements.txt

requirements.txt檔案包含了包名以及版本號,如下圖所示:

② 然後,在全新的Python環境一次安裝requirements.txt檔案中所有的包

pip install -r requirements.txt

三、使用國內映象源加速下載

在使用pip下載安裝第三方包的時候,經常會因為下載超時而報錯。這是用於下載包的伺服器在國外,所以會出現訪問超時的情況。可以使用國內映象源來解決此類問題,比較常用的國內映象源有:

# 阿里雲 http://mirrors.aliyun.com/pypi/simple/
# 中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
# 豆瓣(douban) http://pypi.douban.com/simple/
# 清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/

使用映象源的方式有2種:臨時使用和永久儲存

1.臨時儲存

臨時使用指的是每次安裝包時設定一次,下次再安裝新的包時,還需要再設定。例如臨時使用清華大學映象源安裝beautifultable。

命令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ beautifultable (其實我一般用阿里雲)
# 上述命令中,"-i"引數是index的縮寫,表示索引,後面緊接著是映象源的地址

如下圖所示:

2.永久儲存(預設使用)

如果將映象源設定成配置檔案,當使用pip下載包時,預設執行該配置檔案,到指定映象源中取下載包。

① 在windows平臺下,以配置阿里雲映象源為例,配置資訊如下:

在windows檔案管理器中,輸入%APPDATA%

在該目錄下新建pip資料夾,然後到pip資料夾裡面去新建個pip.ini檔案,輸入以下內容:

[global]
timeout = 6000
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

② 在Linux平臺下:

在linux環境下的修改方式和在windows環境下修改方式基本相同,這裡簡單總結一下:

(1):在使用者的家目錄下面建立名為.pip資料夾

(2):在建立好的.pip資料夾中建立名為pip.conf的檔案

(3):在pip.conf檔案中輸入以下內容:

[global]
timeout = 6000
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com