---
# System prepended metadata

title: UV使用筆記
tags: [Python]

---

# UV 使用筆記
[uv](https://github.com/astral-sh/uv) 是一個用 [rust](https://github.com/rust-lang/rust) 編寫的 Python 套件管理工具，主要有以下優點：
- 安裝套件速度非常快 🚀
- 支援快速安裝任意 Python 版本

## 安裝 uv
```bash
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### 加入 Shell 的環境 (才能直接在命令列中執行 `uv`)
```bash
# 如果使用的Shell為：sh, bash, zsh
source /etc/share/../bin/env
```

## 啟動
當你已經在某個專案中，例如`project/`

### 指定Python版本
```bash
uv venv --python 3.10
```
此指令會建立一個.venv的資料夾

### 啟動虛擬環境
```bash
source .venv/bin/activate
```

### 初始化uv虛擬環境的設定
```bash
uv init
```
此指令會建立一個 `pyproject.toml` 檔案

## 安裝套件
```bash
# 執行 uv add 後 pyproject.toml 會同步被更新
uv add torch torchaudio
```
或是使用 `pip`，但前面要加上 uv，例如：
```bash
uv pip install torch torchaudio
```
⚠️ 不建議：因為用 uv pip install 不會自動更新 `pyproject.toml`，若 repo 中已有 `requirements.txt`，建議執行以下指令來安裝套件：
```bash
cat requirements.txt | xargs -n 1 uv add
```