Python虛擬環境
2024年9月18日大约 5 分鐘
本頁內容介紹「Python的虛擬環境」:
- 理解什麼是虛擬環境,以及為什麼在開發Python專案時需要使用虛擬環境。
- 學會如何使用
venv
創建、啟動、停用虛擬環境,並安裝專案的專屬套件。
什麼是Python的虛擬環境?
簡單來說,虛擬環境是一個隔離的Python運行環境。它可以讓每個專案有自己專屬的Python版本和套件,避免不同專案之間的依賴衝突。
- 問題背景:在開發過程中,不同專案可能需要不同版本的套件。假設專案A需要
requests
的版本1.0,而專案B需要2.0版本,這時候就會產生衝突。虛擬環境可以為每個專案建立獨立的環境來解決這個問題。 - 用途:
- 為每個專案提供乾淨且獨立的Python環境。
- 避免不同專案之間的套件依賴衝突。
- 有助於管理專案的依賴,尤其在跨不同機器或部署到伺服器上時非常實用。
常見的Python虛擬環境管理工具
venv
- 簡介:
venv
Python 3.3版開始內建,無需額外安裝。 - 用途: 適合創建簡單的虛擬環境,讓不同專案有各自獨立的套件。
- 優點: 內建於Python,無需額外安裝。使用簡單,適合初學者或不需要太複雜的環境管理。
- 缺點: 缺乏進階功能,例如管理多個Python版本等。
virtualenv
- 簡介: 比
venv
更早期的虛擬環境工具,功能與venv
相似,可在更舊的Python版本中使用。 - 用途: 用於建立虛擬環境。
- 優點: 支援更舊版本的Python,可管理多個Python版本,與
venv
兼容。 - 缺點: 相對於
venv
而言,需要安裝額外套件。
除了上述兩個之外,還有其他的,例如 pyenv
, pipenv
...,請自行上網查閱。
資料科學常用的虛擬環境管理工具
Anaconda
- 簡介: Anaconda 是一個開發與資料科學相關的完整平台,包含許多資料科學工具(如 NumPy、Pandas、Jupyter 等),並且內建環境管理工具
conda
。 - 用途: 適合需要進行資料科學、機器學習、數據分析的開發者,提供完整的工具與虛擬環境管理功能。
- 優點: 提供大量數據分析和科學計算工具;簡單易用的環境管理,適合新手和資料科學工作者。
- 缺點: 相對較大,安裝後會佔用較多磁碟空間。
Miniconda
- 簡介: Miniconda 是Anaconda的輕量版本,它只包含
conda
環境管理工具和Python,不包含其他預設的資料科學工具。 - 用途: 適合只需要
conda
來管理虛擬環境,並想自行安裝所需套件的用戶。 - 優點: 輕量、安裝快速,使用者可自行選擇需要的工具。
- 缺點: 與Anaconda相比,少了預安裝的資料科學工具。
Micromamba
- 簡介:
micromamba
是conda
的超輕量版本,專注於快速環境管理。與conda
相似,但體積小且運行速度快。 - 用途: 當需要快速創建和管理
conda
環境,但又不需要完整的Anaconda功能時,micromamba
是很好的選擇。 - 優點: 體積非常小,下載與運行速度快;與
conda
兼容,無需學習新的語法。 - 缺點: 功能不如完整的
conda
完整,主要集中於環境管理,不包含其他工具。
這些虛擬環境管理工具各有特點,適合不同的開發需求。對於初學者來說,venv
是一個簡單且有效的選擇;而對於進階開發者或資料科學家,使用Anaconda可以帶來更多的靈活性與強大的功能。你可以根據專案需求和個人習慣來選擇最適合的工具。
使用 venv
創建虛擬環境
步驟1:開啟終端機
按下 Windows 鍵,在搜尋框中輸入 cmd 或 Command Prompt。點擊應用程式來打開 Command Prompt(終端機)。或在其他作業系統開啟相關的終端機程式。步驟2:使用命令建立工作目錄
常用指令
X:
—— 切換不同磁碟機(For Windows, C:, D:...)mkdir
—— 建立新資料夾(Make Directory)cd
—— 切換工作目錄(Change Directory)dir
—— 列出目錄內容(Directory)
範例:假設要在 D 碟的 JYW 目錄建立一個 "work" 的資料夾,可執行以下命令:
D: cd \JYW # \ 表示根目錄 mkdir work cd work # 切換到 work 目錄
步驟3:檢查是否已安裝Python
在命令行或終端輸入以下命令檢查Python版本,確認是否安裝Python:python --version # 或 python -V
步驟4:建立虛擬環境
使用Python的內建模組venv
創建一個虛擬環境。以下指令會在當前目錄下創建一個名為myenv
的虛擬環境:python -m venv myenv
步驟5:啟動虛擬環境
- Windows:
myenv\Scripts\activate
- macOS/Linux:
source myenv/bin/activate
啟動成功後,命令行會顯示
(myenv)
,表示你目前正在該虛擬環境中。- Windows:
步驟6:在虛擬環境中安裝套件
在虛擬環境中,你可以安裝專案所需的套件。例如安裝requests
:pip install requests
步驟7:查看已安裝的套件
使用pip list
查看當前虛擬環境中的套件:pip list
步驟8:停用虛擬環境
完成工作後,使用以下命令退出虛擬環境:deactivate
練習 1
- 在自己的電腦上建立一個虛擬環境。
- 啟動該虛擬環境並安裝
requests
套件。 - 編寫並執行以下Python程式碼來測試
requests
是否正常運行:import requests response = requests.get("https://api.github.com") print(response.status_code)
- 停用虛擬環境。