Python虛擬環境的創建和使用


一、概要

  • 如果想要再同一台主機運行、開發不同的項目,且項目的依賴有所差異。如果只有一個環境,在每次開發新的項目或者切換不同的項目時,都必須更換為對應的版本,這是一個相當麻煩的事情。

  • Python應用程序通常會使用不在標准庫內的軟件包和模塊。應用程序有時需要特定版本的庫,因為應用程序可能需要修復特定的錯誤,或者可以使用庫的過時版本的接口編寫應用程序。

  • 這意味着一個Python安裝可能無法滿足每個應用程序的要求。如果應用程序A需要特定模塊的1.0版本但應用程序B需要2.0版本,則需求存在沖突,安裝版本1.0或2.0將導致某一個應用程序無法運行。為了解決這些問題,就有了虛擬環境。

1.1 真實環境或物理環境

  • 我們安裝的python包即是一個真實環境

1.2 虛擬環境 virtualenv

  • virtualenv是一個創建隔絕的python環境的工具。virtualenv創建一個包含所有必要的可執行文件的文件夾,用來使用python工程所需的包。

  • 是一個用於創建和管理虛擬環境的模塊。

二、安裝虛擬環境

假設你已經安裝了python

2.1 安裝

  • 創建一個用於管理虛擬環境的目錄,並切換到該目錄下
    語法:
python -m venv virtualName
  • 實例:
mkdir -p D:/Virtualenv/Python37
cd D:/Virtualenv/Python37
python -m venv Django3
  • 然后得到如下文件目錄結構:

與物理環境不同的是,虛擬環境的python.exe在Scripts下。

三、激活

3.1 原理

  • 實際上,激活就是將當前虛擬環境下的的python.exe解釋器所在路徑添加到最前面。相當於提高優先級。

  • 如此看來,激活只需切換到改虛擬環境,在執行python即可。

3.2 Windows

執行 Scripts下的activate.bat

cd D:/Virtualenv/Python37/Django/Scripts
./activate.bat

3.3 Mac/Linux

cd ...
source tutorial-env/bin/activate

四、pip包管理

4.1 pip list

  • 顯示當前環境安裝的所有軟件包。
pip list

4.2 pip show packgeName

  • 顯示某個軟件包的信息
pip show django

4.3 pip freze

  • 生成一個當前已安裝的包列表,且改文件為pip install期望的格式。約定為requirements.txt文件。
pip freeze > requirements.txt

4.4 pip install -r requirements.txt

  • 用於安裝當前項目所有必須的包。
  • 其中-r為read,檢查文件內容是否符合pip install所期望的格式。
pip install -r requirements.txt

附錄

更多詳細信息請參照 官方文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM