ubuntu22安装uv管理器
本文参考自:1、【Python】使用uv管理python虚拟环境_uv环境python-CSDN博客
本文参考自:2、uv 简易安装与更换国内镜像源_uv 国内源-CSDN博客
1、安装uv管理器
curl -LsSf https://astral.sh/uv/install.sh | sh
|
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
scoop install uv
|

2、卸载uv:
uv cache clean rm -r "$(uv python dir)" rm -r "$(uv tool dir)"
rm ~/.local/bin/uv ~/.local/bin/uvx
rm $HOME.local\bin\uv.exe rm $HOME.local\bin\uvx.exe
|
3、python管理:
uv python install 3.13
uv python install pypy@3.13
|
- 选用python版本(在具体的某个项目中,进入项目目录,使用如下命令指定选用的python版本)
uv python pin 版本号
uv python pin 3.10
cat .python-version
|
4、创建虚拟环境(项目)
- 方式1:创建项目有两种方式,第一种方式,先创建好项目目录,然后设置python版本并初始化uv虚拟环境
uv python pin 3.10 uv init
|
- 执行了uv init之后,会在当前目录下创建几个文件,同时也会在当前目录下执行git init创建出一个新的git仓库来
~/data/code/python/test_code ❯ uv python pin 3.13 Pinned `.python-version` to `3.13`
~/data/code/python/test_code ❯ uv init Initialized project `test-code`
~/data/code/python/test_code main ?6 ❯ ls README.md main.py pyproject.toml
|
- 方式2:另外一个方式是在init之后添加一个项目名,会自动创建项目文件夹
5、添加依赖
uv add 依赖项
uv add requests
uv add requests==版本号
|
执行了这个命令后,会在当前目录下创建.venv虚拟环境目录(在vscode里面可以选择这个目录作为虚拟环境,否则代码解析会有问题),并添加我们要的依赖项,同时会新增一个uv.lock文件,用于存放依赖项版本相关的信息。pyproject.toml文件中的dependencies字段也会包含需要的依赖项。
~/data/code/python/test_code main ?6 ❯ uv add requests Using CPython 3.13.1 interpreter at: /opt/homebrew/opt/python@3.13/bin/python3.13 Creating virtual environment at: .venv Resolved 6 packages in 13.85s Prepared 5 packages in 5.55s Installed 5 packages in 13ms + certifi==2025.1.31 + charset-normalizer==3.4.1 + idna==3.10 + requests==2.32.3 + urllib3==2.4.0
|
而且,从这个输出中也能看到,它自动使用了.python-version指定的3.13版本的python,和当前我们全局目录下的python3指向什么版本没有关系(我的全局python3指向的是3.10版本)
6、运行程序
依赖添加好后,就可以使用uv来运行python程序了
uv会自动按照我们的配置来运行程序,无序我们手动维护依赖项,也不需要手动去source各式各样的虚拟环境了。
7、uvx命令
随着uv下载的还有一个uvx命令,uvx命令本质上是uv tool run命令的别名
uvx python main.py
uv run main.py
uv tool run main.py
|
实际例子,如下这两个命令是等价的
❯ uvx --directory ~/data/code/python/test_code python main.py Hello from test-code! ❯ uv tool run --directory ~/data/code/python/test_code python main.py Hello from test-code!
|
8、设置下载包的镜像源
uv下载第三方库本质上也是通过pypi源下载的,所以在国内网络环境中默认链接速度会很慢,可以在项目目录的pyproject.toml中添加如下内容来使用清华源
[[tool.uv.index]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" default = true
|
运行uv add命令的时候也可以指定镜像源
uv add --default-index https://pypi.tuna.tsinghua.edu.cn/simple requests
|
uv也提供了全局的配置项,可以通过环境变量UV_DEFAULT_INDEX配置镜像源
export UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple
|
全局的配置项优先级低于pyproject.toml中配置的镜像源。如果pyproject.toml里面配置了镜像源,则会使用pyproject.toml的配置。