原文連接: python設置虛擬環境- Python學習導航
為什么需要虛擬環境?
在使用Python語言時,通過pip(pip3)來安裝第三方包,但是由于pip的特性,系統中只能安裝每個包的一個版本。但是在實際項目開發中,不同項目可能需要第三方包的不同版本,迫使我們需要根據實際需求不斷進行更新或卸載相應的包,而如果我們直接使用本地的Python環境,會導致整體的開發環境相當混亂而不易管理,這時候我們就需要開辟一個獨立干凈的空間進行開發和部署,虛擬環境就孕育而生。
以下是一些主要的原因:
-
隔離項目依賴: 不同的項目可能需要不同版本的依賴庫。虛擬環境允許您在每個項目中創建一個獨立的Python環境,以確保項目所需的特定依賴關系不會干擾其他項目。
-
版本兼容性: 有些項目可能對特定版本的庫有依賴,而另一些項目可能需要不同版本。虛擬環境允許您為每個項目指定特定的依賴版本,確保版本兼容性。
-
避免全局污染: 在全局Python環境中安裝依賴可能會導致全局污染,使得各個項目之間的依賴沖突。通過使用虛擬環境,每個項目都有自己的隔離空間,不會影響系統的全局Python環境。
-
便于遷移和分享: 虛擬環境的存在使得項目更容易分享給他人或在不同系統上遷移。通過將虛擬環境信息包含在項目中,其他人可以輕松地在其環境中重建相同的開發環境。
-
簡化部署: 在生產環境中使用虛擬環境可以確保部署是一致的,并且不受系統全局環境中其他應用程序的影響。這有助于避免潛在的兼容性問題。
總體來說,虛擬環境使得項目的開發和維護更加清晰、可維護,并有助于解決依賴關系管理的挑戰。在大型或復雜的項目中,使用虛擬環境是一種良好的實踐。
Python中創建虛擬環境的方法有多種,以下是一些常見的方式:
-
使用 venv 模塊(Python 3.3及以上版本):
# 在項目目錄中創建虛擬環境 python3 -m venv venv # 激活虛擬環境(Windows) venv\Scripts\activate # 激活虛擬環境(Linux/Mac) source venv/bin/activate
-
使用 virtualenv 模塊:
# 安裝 virtualenv 工具 pip install virtualenv # 在項目目錄中創建虛擬環境 virtualenv venv # 激活虛擬環境(Windows) venv\Scripts\activate # 激活虛擬環境(Linux/Mac) source venv/bin/activate
-
使用 Pipenv:
# 安裝 Pipenv pip install pipenv # 在項目目錄中創建虛擬環境并安裝依賴 pipenv install # 進入虛擬環境 shell pipenv shell
-
使用 conda:
如果您使用的是 Anaconda 或 Miniconda,可以使用 conda 創建虛擬環境。
# 創建一個名為myenv的虛擬環境 conda create --name myenv # 激活虛擬環境 conda activate myenv
-
使用 pyenv:
pyenv
是一個Python版本管理工具,也可以用于創建虛擬環境。# 安裝 pyenv-virtualenv 插件 git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv # 創建并激活虛擬環境 pyenv virtualenv 3.8.5 myenv pyenv activate myenv
-
使用poetry:
? ?
? ?如果您需要精確的版本控制和獨立的虛擬環境,Poetry 是一個不錯的選擇
這些方法中,選擇哪一種取決于您的項目需求和個人偏好。一般來說,推薦使用 venv
(對于Python 3.3及以上版本)或者 Pipenv
,因為它們提供了更簡單的使用和更多的功能。如果您使用的是 Anaconda 或 Miniconda,conda
也是一個強大的選擇。