🧠 1. 為什麼要用 venv
?
Python 的虛擬環境(virtual environment)能夠讓每個專案使用獨立的套件版本,避免以下問題:
- 🔁 避免全域安裝污染:不同專案可能需要不同版本的套件。
- 🔥 減少版本衝突:A 專案要用
Flask==1.1.2
,B 專案要用Flask==2.0.0
,如果都裝在同一個地方會打架。 - 🚀 更容易部署:
requirements.txt
可以幫你還原乾淨的環境。
🛠️ 2. 怎麼用 venv
?
以下是典型步驟,假設你已安裝 Python3:
🧰 建立虛擬環境
python3 -m venv venv
(venv
是資料夾名稱,可自訂,如 env
、.venv
)
✅ 啟用虛擬環境
- macOS/Linux
source venv/bin/activate
- Windows(cmd)
venv\Scripts\activate
- Windows(PowerShell)
venv\Scripts\Activate.ps1
啟動成功後,命令列會出現類似 (venv)
的提示符。
💾 安裝套件
pip install flask requests
📦 輸出依賴列表
pip freeze > requirements.txt
🛠️ 關閉虛擬環境
deactivate
🔍 3. venv 跟其他工具有什麼差異?
工具 | 說明 |
---|---|
venv |
Python 內建、無需額外安裝,簡單穩定 |
virtualenv |
支援 Python 2/3、更進階功能 |
pipenv |
整合套件管理與虛擬環境,較重 |
poetry |
現代化依賴管理,適合包開發與發佈 |
Conda | 針對科學運算,可管理非 Python 套件 |
建議初學者或一般專案使用 venv
就足夠。
🗃️ 4. .git
如何維護虛擬環境?
不要將虛擬環境資料夾(例如 venv/
)加入 Git!
✅ 加入 .gitignore
:
# Python virtual environment
venv/
.env/
*.pyc
__pycache__/
這樣只需將 requirements.txt
加入版本控制,其他人也能重建環境:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt