大家好,我是 MAI麥造!
之前比較喜歡用 anaconda 來管理虛擬環境,但只做包管理又太大材小用了。
現在有一個輕量且更強的替代來了!!
一站式超快的 Python 包與環境管理工具:uv。
作者:Astral ,口號:“比 pip 快 100 倍”
🧭 一、uv 是什麼?
uv 是一個基於 Rust 編寫的 Python 包管理器,它集成了以下功能:
|
工具
|
功能
|
在 uv 中的替代
|
|
pip
|
包安裝
|
✅ |
|
venv
|
虛擬環境
|
✅ |
|
poetry
|
依賴管理
|
✅ |
|
pip-tools
|
鎖定依賴
|
✅ 自動內置
|
👉 簡單理解:
uv = pip + venv + poetry 的極速整合版。
⚙️ 二、安裝 uv
# linux/MacOS 官方推薦方式(自動檢測平台)
curl -LsSf https://astral.sh/uv/install.sh | sh
# win11 上
winget install uv
或通過 pip:
pip install uv
🚀 三、常用命令速查
1️⃣ 創建虛擬環境
uv venv
在當前目錄下創建 .venv 文件夾。
指定路徑:
uv venv .envs/myenv
2️⃣ 指定 Python 版本創建虛擬環境
uv venv --python 3.11
或指定絕對路徑:
uv venv --python /usr/local/bin/python3.11
💡 提示:uv 會自動下載所需 Python 版本(類似 pyenv 的體驗), 無需提前安裝該版本的解釋器。
3️⃣ 激活虛擬環境
# macOS / Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate
4️⃣ 安裝依賴
uv pip install requests
可一次安裝多個:
uv pip install numpy pandas matplotlib
5️⃣ 安裝依賴文件
uv pip install -r requirements.txt
6️⃣ 導出依賴列表
uv pip freeze > requirements.txt
7️⃣ 使用 pyproject.toml 管理依賴
uv add fastapi uv remove fastapi uv sync
🔒 uv sync 會根據鎖文件精確重建環境。
8️⃣ 一次性運行腳本(自動加載環境)
uv run script.py
9️⃣ 臨時安裝依賴並運行命令
uv run --with requests python -c "import requests; print(requests.__version__)"
在隔離環境中運行,不污染全局依賴。
🔟 初始化項目模板
uv init myproject
自動創建項目結構和 pyproject.toml。
🧩 四、實用命令對照表
|
功能
|
命令
|
説明
|
|
創建虛擬環境
|
|
默認使用當前 Python
|
|
指定 Python 版本
|
|
自動下載版本
|
|
安裝包
|
|
兼容 pip
|
|
安裝文件依賴
|
|
|
|
導出依賴
|
|
|
|
添加依賴(TOML)
|
|
類似 poetry
|
|
刪除依賴
|
|
|
|
同步依賴
|
|
更新虛擬環境
|
|
臨時運行
|
|
不污染環境
|
|
初始化項目
|
|
創建標準項目結構
|
💡 五、優點總結
✅ 極快安裝速度(Rust 實現,比 pip 快 10–100 倍)
✅ 自動管理虛擬環境與依賴鎖定✅ 完全兼容 pip✅ 支持多 Python 版本共存與下載✅ 可替代 Poetry、pip-tools、pyenv、pipx 的組合
🔍 六、進階技巧
✨ 指定 Python 版本運行腳本
uv run --python 3.10 main.py
✨ 查看所有可用 Python 版本
uv python list
✨ 安裝特定 Python 版本
uv python install 3.12
七、
這是一個常用的 uv 命令速查表。 大家可以 mark 住,需要的時候可以快速找到~