python的UV使用
1、安装UV,在cmd命令行运行:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
运行成功后,也是在命令行添加环境变量:
set Path=C:\Users\wangxinghao\.local\bin;%Path%
如下图:
2、重新开个cmd窗口,运行:uv --version,查看是否安装完成
查看当前电脑安装的python版本:uv python find (个人觉得没啥用和uv python list一样可以查版本号)
我这里显示安装的是3.12
3、安装python某一个版本,比如python 3.13:uv python install 3.13
4、卸载某一个版本:uv python uninstall 3.13
5、使用uv命令创建一个python项目:uv init python_lianxi123
使用pycharm打开该项目之后,显示如下
5.1,如果文件夹已经创建,可以使用uv init命令,直接设置虚拟环境和其他配置
6、如果电脑安装了多个python版本,比如我安装了3.12和3.13,如果想固定某一个python版本,可以使用:uv python pin 3.12 (单词pin是:针的意思,就是钉住某一版本)
可以通过>uv python find 查看当前的python版本
然后用UV命令创建的python项目就会是3.12版本
7、如果原来是3.13版本,想切换为3.12版本,需要修改下面2个文件的python版本号
修改完版本号后使用:uv run main.py,在执行代码时,会删除原本
8、安装第三方库,比如安装requests库:uv add requests,优点是安装非常快,也可以安装具体一个版本的库:uv add requests==2.32.4
安装完成后项目会记录对应的第三方库和版本
9、查看当地版本库的依赖关系:uv tree
10、从给其他地方拿到的代码(比如git),如何创建虚拟环境并运行,使用:uv sync
1. 项目与依赖管理(核心)
| 命令 | 说明 | 示例 |
|---|---|---|
uv init | 在当前或指定目录创建一个新的 Python 项目。 | uv init my-project |
uv add | 添加一个依赖包到项目,并自动更新pyproject.toml和uv.lock。 | uv add requestsuv add "pytest>=7.0" |
uv remove | 从项目中移除一个依赖包。 | uv remove requests |
uv sync | 根据pyproject.toml同步并安装项目所有的依赖(会自动创建/更新虚拟环境)。 | uv sync |
uv lock | 更新项目的uv.lock锁定文件,但不安装或同步环境。 | uv lock |
uv tree | 以树形结构展示项目的完整依赖关系图。 | uv tree |
uv build | 将项目打包成可分发的源码包(sdist)和 wheel 文件。 | uv build |
uv publish | 将构建好的包发布到 PyPI 等包索引服务。 | uv publish |
2. Python 版本与虚拟环境管理
| 命令 | 说明 | 示例 |
|---|---|---|
uv python list | 列出所有可用的(包括已安装和可下载的)Python 版本。带*的为当前默认版本。 | uv python list |
uv python install | 安装指定版本的 Python。 | uv python install 3.12uv python install 3.11.4 |
uv python pin | 将当前项目固定(pin)到特定的 Python 版本。 | uv python pin 3.11 |
uv venv | 手动创建一个虚拟环境(通常uv sync会自动处理)。 | uv venv --python 3.12 |
3. 运行与工具管理
| 命令 | 说明 | 示例 |
|---|---|---|
uv run | 核心命令。在项目的虚拟环境中运行指定的命令或脚本。 | uv run python script.pyuv run pytest |
uv tool/uvx | 管理和运行用 Python 编写的全局命令行工具,功能类似pipx。 | uv tool install ruffuvx ruff check . |
uvx小贴士:uvx是uv tool run的简写,它会在一个临时的虚拟环境中运行工具,用完即焚,非常适合偶尔使用的工具(如uvx black)。
4. 其他辅助命令
| 命令 | 说明 | 示例 |
|---|---|---|
uv pip | 提供一套与pip兼容的命令行接口,用于在当前激活的环境中管理包。 | uv pip listuv pip install requests |
uv cache clean | 清理uv的本地缓存,释放磁盘空间。 | uv cache clean |
uv self update | 将uv自身更新到最新版本。 | uv self update |
uv version | 显示当前安装的uv版本信息。 | uv version |
uv help | 显示uv的帮助信息或特定命令的详细用法。 | uv helpuv help run |