在使用 Python 開發時,虛擬環境(Virtual Environment) 幾乎可以說是必備工具,無論是在小型專案、團隊合作專案,還是管理複雜的相依套件,環境隔離與套件管理始終是開發效率與穩定性的關鍵。
今天將分別介紹venv
、poetry
、uv
三種不同的虛擬環境,幫助你了解各自的特色、適用場景與實務操作。
想想當今天專案A
使用的是Django 3.2
版本,專案B
使用的是Django 5.0
版本,如果安裝在同一個環境中肯定會有衝突!
再者,在開發過程中想嘗試新的套件調整功能的便利性時,安裝了些測試套件或是不必要的套件,長期下來會讓整個環境污染,最後則是缺乏獨立的環境,團隊協作在部署專案時可能造成依賴不一致。
因此,虛擬環境的重要性就出現了!
建立虛擬環境
python3 -m venv .venv
啟動虛擬環境
source .venv/bin/activate
停用虛擬環境
deactivate
安裝套件
pip3 install django
現在的poetry
有以2.0
前後區分版本,在操作上有些微的不同。
使用poetry
時會產生兩個重要的檔案,分別是pyproject.toml
、poetry.lock
,前者為專案的基本配置後者為記錄每個套件的確切版本號,確保在不同環境中安裝完全相同的依賴版本。
安裝 poetry
pip3 install poetry
2.0 之前:
建立虛擬環境
poetry init -n
進入虛擬環境
poetry shell
停用虛擬環境
exit
安裝套件
poetry add django
2.0 之後:
建立虛擬環境
poetry init -n
啟動虛擬環境
poetry env use python3
poetry env activate
source /Users/jeter.chen/projects/test2/.venv/bin/activate
停用虛擬環境
deactivate
安裝套件
poetry add django
poetry.lock
file 讓團隊環境一致。.venv
慢些。poetry
的工作流程,對傳統習慣的開發者可能需要適應。最大的特色就是速度極快!這是一個用 Rust 編寫的極速 Python 包管理器,和 pip 大概快了 10~100 倍。
安裝虛擬環境
brew install uv
啟動虛擬環境
uv venv
source .venv/bin/activate
安裝套件
uv add django
停用虛擬環境
deactivate
pip
、venv
、poetry
的部分功能。那麼今天就介紹到這,明天見ㄅㄅ!