###参考:

https://uv.doczh.com/

###安装:

下载:
https://github.com/astral-sh/uv/releases/latest/download/uv-x86_64-pc-windows-msvc.zip
解压,把里面的 uv.exe 直接放到你想要的目录,例如:

###windows:指定配置文件 / 缓存 / 工具 / 虚拟环境路径

如不指定,会放到C盘:%APPDATA%\uv\目录【C:\Users\用户\AppData\Roaming\uv】;
计划只在vscode中使用,所以环境变量放到vscode配置文件中;

在ux.exe同级目录建名称为 uv.toml 的空文件:

vscode settings.json配置:
 

{
    "terminal.integrated.env.windows": {
        // UV 全路径定向 D盘 不写C盘
        "PATH": "D:/dev/dev-tool/uv;D:/dev/dev-tool/uv/bin;${env:PATH}",
        "UV_CONFIG_FILE": "D:/dev/dev-tool/uv/uv.toml",
        "UV_PYTHON_INSTALL_DIR": "D:/dev/dev-tool/uv/python",
        "UV_CACHE_DIR": "D:/dev/dev-tool/uv/cache",
        "UV_TOOL_DIR": "D:/dev/dev-tool/uv/tools",
        "UV_BIN_DIR": "D:/dev/dev-tool/uv/bin",
        "UV_ENV_DIR": "D:/dev/dev-tool/uv/venvs",
        "UV_DATA_DIR": "D:/dev/dev-tool/uv/data",
        "UV_CONFIG_DIR": "D:/dev/dev-tool/uv/config",
        "PIP_CACHE_DIR": "D:/dev/dev-tool/uv/pip-cache",
    },
    "python.terminal.activateEnvironment": true
}

重启vscode生效,在vscode的终端执行命令验证:
D:\dev\workspace\vscode\gysd-web-api>uv python dir
D:\dev\dev-tool\uv\python
D:\dev\workspace\vscode\gysd-web-api>uv cache dir
D:\dev\dev-tool\uv\cache
D:\dev\workspace\vscode\gysd-web-api>uv tool dir
D:\dev\dev-tool\uv\tools
D:\dev\workspace\vscode\gysd-web-api>
检查C盘,不自动生成目录:%APPDATA%\uv\目录【C:\Users\用户\AppData\Roaming\uv】
uv 0.11.8版本还是会往 C盘放:C:\Users\a\.local\bin\python3.11.exe

###验证

uv --version
uv help

###升级uv

uv self update

###卸载uv

uv cache clean
rm -r "$(uv python dir)"
rm -r "$(uv tool dir)"
删除3个exe文件

###设置国内镜像源

macOS/Linux: ~/.config/uv/uv.toml;
Windows: %APPDATA%\uv\uv.toml;
若不存在,请手动创建 uv 文件夹和 uv.toml 文件:

# Python 安装镜像,还用用官方源,国内镜像没同步最新版
# PyPI 包镜像(清华)
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"

验证,安装包时候加 -v 参数查看下载链接:
uv python install 3.11 -v
uv add requests -v

###设置不自动下载托管 Python 解释器,需手动安装

uv.toml加1行:
python-downloads = "manual"
设置后,执行:uv venv myenv --python 3.11
不会自动下载,直接报错:No Python 3.12 found and automatic downloads are disabled
只有手动 install 才会下载:uv python install 3.11 -v

###安装/指定python版本

安装特定版本的 Python,会安装到环境变量UV_PYTHON_INSTALL_DIR指定的路径:
uv python install 3.11
查看可用和已安装的 Python 版本:uv python list
即使未请求特定的 Python 版本,uv 也会按需下载最新版本。例如,如果系统上没有任何 Python 版本,以下命令将在创建新的虚拟环境之前安装 Python:   $ uv venv
设置全局默认 Python 版本: uv python default 3.11
为当前项目固定 Python 版本(会在当前项目下创建 .python-version 文件,内容: 3.11): uv python pin 3.11

###vscode安装插件python插件

只安装红框这个,就会自动安装好其余3个:

###项目管理(推荐方式)

uv创建虚拟环境有两种方式,一种是类似于anaconda,统一创建并管理虚拟环境,另一种是跟随项目创建。
uv 支持以 pyproject.toml 为中心的现代项目管理方式,这是比 pip 模式更推荐的使用方法,尤其适合团队协作和多环境部署。

##用vscode初始化项目

1.新建项目文件夹:D:\dev\workspace\vscode\gysd-web-api
2.用vscode打开此空文件夹
3.终端执行:uv init --python 3.11,就会生成4个文件

5.终端执行:uv run main.py,就会生成 .venv python虚拟环境目录,并运行main.py

6.指定项目python解释器
Ctrl + Shift + P
输入:Python: Select Interpreter
在列表里选中:plaintext.venv\Scripts\python.exe
新开一个终端,里面执行一次:.\.venv\Scripts\activate
重启vscode,检查是否记住解释器:
打开main.py,看右下角;终端里面执行:where python:

7.uv pip install pip

8.添加生产依赖:uv add fastapi[standard-no-fastapi-cloud-cli]
添加指定版本的依赖:uv add "requests>=2.31.0"
添加开发依赖(只在开发环境使用,如测试框架):uv add --dev pytest ruff
移除依赖:uv remove requests
根据 pyproject.toml 和 uv.lock 一键安装所有依赖: uv sync
解析 pyproject.toml 中的依赖,生成/更新uv.lock 文件:uv lock
9.uv run fastapi dev