什么是uv
可以創建虛擬環境 安裝依賴
安裝uv
參見官方文檔
安裝 | uv-zh-cn
自定義安裝目錄,win+r 輸入powershell,輸入如下命令
$env:UV_INSTALL_DIR = "C:\Custom\Path";powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
將自定義的目錄加入到path
可以執行uv,說明安裝成功
如果被墻,那就從?https://github.com/astral-sh/uv/releases?下載壓縮包
uv-i686-pc-windows-msvc.zip | x86 Windows | 32位操作系統 |
uv-x86_64-pc-windows-msvc.zip | x64 Windows | 64位操作系統 |
解壓到存放目錄,比如D:\uv,然后將目錄D:\uv加入到系統環境變量path
系統環境變量操作見環境變量 - 白月黑羽
更新
uv self update
的行為
1. 檢查當前安裝位置
uv self update
會先確認自己是怎么被安裝的。如果是通過 安裝腳本 install.ps1 安裝的,它會記住 $env:UV_INSTALL_DIR
的路徑(因為腳本就是往那個路徑里放了 uv.exe、uvx.exe、uvw.exe)。
2. 下載最新版本
它會去 astral-sh/uv
的 GitHub Releases 檢查最新 release,并下載對應平臺的壓縮包(Windows 下是 .zip
)。
3. 替換現有可執行文件
下載完成后,它會覆蓋你安裝目錄里的舊文件:
C:\Custom\Path\uv.exe C:\Custom\Path\uvx.exe C:\Custom\Path\uvw.exe
如果你用 $env:UV_INSTALL_DIR
自定義了路徑,那么 uv self update
會在那個目錄里直接更新二進制文件,不會跑去默認目錄
已有項目
uv的項目,后續新增庫,等都用uv的命令操作。
完全uv
uv-zh-cn
Python包管理不再頭疼:uv工具快速上手 - wang_yb - 博客園
UV使用教程 - 又一歲榮枯 - 博客園
假設?https://github.com/GiovanniGiacometti/python-repo-template/tree/main?這個是模板
Github配置ssh key的步驟(大白話+包含原理解釋)_github生成ssh key-CSDN博客
1、pycharm中,解釋器選成無解釋器
2、進入項目根目錄,執行 uv sync(命令行或者pycharm的終端都可以), 此時會在項目的根目錄建一個.env文件夾,把找到的python解釋器放進去。uv sync = 統一入口,保證項目有對的python+venv+依賴,一鍵搞定。
uv sync會檢查本地是否存在項目所需的python版本,若沒有,自動去官方下載一個,保證環境可復現。
-
解析 Python 版本
-
看
.python-version
或pyproject.toml
里寫的 Python 要求(比如>=3.10,<3.13
)。 -
如果本地有符合的解釋器 → 用本地的。
-
如果本地沒有 → 去下載對應的獨立 Python(放到
uv python dir
)。
-
-
創建虛擬環境
-
在當前項目下生成
.venv/
(除非你用--no-venv
)。 -
把選中的 Python 解釋器復制/鏈接進去。
-
-
安裝依賴
-
讀取
pyproject.toml
或requirements.txt
里的依賴。 -
解析依賴 → 生成鎖文件
uv.lock
。 -
把依賴安裝到
.venv/
。
-
uv 下載的python不是下載到了系統里,而是放在了它自己緩存/管理的目錄中,避免和本地已有的python沖突。可以運行uv python list查看這里列出來的也可能是手動下載的,不是通過uv下載的,可以運行uv python dir查看uv下載的python。
自定義python存放路徑
$env:UV_PYTHON_INSTALL_DIR = "D:\uv\python" uv sync
緩存
永久生效就設置到環境變量里,或者使用每個命令的時候加-- cache-dir。具體見uv文檔的命令的章節
如果使用uv sync被攔截,則需要先下載對應的python版本。uv會根據i項目里的python版本,自動查找合適的python版本,去哪找的會顯示
2.1 下載對應的python版本
? ? ? ? 首先輸入?winget search python (Windows 包管理器 (winget) 搜索和 Python 相關的軟件包)查找可以得到的python版本。
將ID列對應的python版本復制下,運行?winget install ID列python版本(Windows 包管理器 (winget) 來安裝 Python x.x),裝好后,它會把 python.exe
和 pip.exe
放到系統路徑(通常在 C:\Users\<你>\AppData\Local\Microsoft\WindowsApps
),不支持選路徑。
如果不想隨便放,那就自己下載對應的版本放到某個位置,然后運行
uv sync --python "D:\Python313\python.exe"
告訴 uv:不要去自己找/下載 Python 版本,直接用我指定的這一只解釋器來建環境。
uv 讀取項目配置(.python-version 或 pyproject.toml → requires-python)你用 --python 指定了解釋器:D:\Python313\python.exeuv 會檢查:這只解釋器是否存在;它的版本號是否滿足項目要求。如果滿足,就用它來:創建 .venv/ 虛擬環境(.venv\Scripts\python.exe 會指向(復制或鏈接)你指定的 D:\Python313\python.exe。)這樣以后項目始終用這只解釋器,而不會亂掉安裝依賴、生成/更新 uv.lock
3、pycharm,python解釋器,選擇虛擬環境中的python.exe
--------------------------------------------------------------
conda+uv
1、使用conda創建虛擬環境
2、進入i項目的根目錄,執行uv sync -- python "conda虛擬環境里python的目錄"
相當于不人工下載python,讓conda下載python,conda管理自己下載的python。
卸載uv下載的python版本
新建項目
用 --python
參數
1、在初始化時就指定解釋器路徑或版本號:
本地要有 --python指定的解釋器
uv init myproject --python "D:\Python313\python.exe"
結果:
-
.python-version
會寫成3.13
(對應你給的解釋器)。 -
pyproject.toml
的[project] requires-python
也會是>=3.13
。 -
以后
uv sync
就會用這只解釋器。
2、先uv init, 再改 .python-version
3、uv sync --python