什么是uv
uv(Universal Virtual)是由Astral團隊(知名Python工具Ruff的開發者)推出的下一代Python包管理工具,使用Rust編寫。它集成了包管理、虛擬環境、依賴解析、Python版本控制等功能,它聚焦于三個關鍵點:性能、安全性、以及現代化開發流程的兼容性。
uv的特點
uv是一款新型的 Python 包管理工具,具備以下特點:
- 極速性能,無緩存時比pip快8-10倍**,**熱緩存時快80-115倍;
- 功能集成,多工具集成于uv工具中,如:
uv pip
代替pip,uv python
代替pyenv,uv tool
代替pipx; - 并行化處理:依賴解析、下載、安裝全程并行,充分利用硬件資源;
- 靜態分發,沒有Python環境時也可以運行,避免版本沖突;
- 跨平臺,支持Windows、Linxu、mac系統,使用方式一致。
安裝uv
可以通過以下指令安裝uv工具
-
使用獨立安裝腳本,通過
curl
下載并執行安裝腳本(適用于macOS/Linux):curl -LsSf https://astral.sh/uv/install.sh | sh
uv已被收錄至Homebrew軟件庫,mac系統也可以使用以下命令安裝:
brew install uv
-
Windows系統,可以使用PowerShell命令進行安裝安裝(需管理員權限):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
-
通過pip安裝,使用pip進行安裝(需要安裝Python環境):
pip install uv
-
安裝完成后驗證版本:
uv --version
uv的使用
無縫替代pip
# 安裝依賴
uv pip install requests pandas# 檢查依賴
uv pip check# 顯示包依賴樹
uv pip show --tree requests# 清理緩存(類似 pip cache purge)
uv cache purge
項目管理
1.創建文件夾python_app,對項目進行初始化,生成虛擬環境、pyproject.toml和.gitignore:
uv init
2.添加依賴模塊,例如pygame,添加后會自動更新pyproject.toml和鎖定文件(uv.lock):
uv add "pygame"
3.運行Python程序,
uv run python main.py
4.打包項目
uv build
通過uv.lock文件,在更換運行設備時可以完全復現項目的環境,不需要再額外安裝項目所依賴的模塊,保證項目可直接運行。
程序的安全防護
uv憑借Rust驅動的高性能特性,優化了Python開發體驗,它能極大地提升我們的開發和管理效率。然而,在追求開發效率的同時,我們絕不能忽視另一個至關重要的環節——代碼安全。
眾所周知,Python作為一種解釋型語言,其源代碼通常以明文的.py
文件形式存在,非常容易被反編譯和竊取。當你辛辛苦苦開發的算法或核心邏輯被打包分發時,非常容易被他人獲取使用。
因此,在利用uv
這樣的利器高效完成開發后,強烈建議對關鍵代碼進行加固保護。在這方面,Virbox Protector是一款非常專業的工具,它可以在字節碼層次對Python代碼進行保護,保障代碼的安全。