一.創建虛擬環境
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