a_good_name

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

uv使用

uv安装

windows安装命令

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

ps:其他的一些软件通过官网命令行下载命令执行失败 (格式类似 ""命令 | py"), 检查半天发现是因为电脑没有py程序, 切换成了系统中有的python后即可正常执行安装

怎么检查有没有对应程序

# 检查py
py --version

# 检查python
python --version

uv管理python

# 查看python列表
uv python list
# 列表第三列的内容表示python的下载情况, 已下载的显示python安装的具体位置, 没有下载的显示可下载

# 下载命令
uv python install 对应python版本

uv执行的python环境的获取顺序

1 .python-version指定版本

2 当前启用的虚拟环境

3 当前文件夹下的.venv文件夹设置的虚拟环境

4 uv安装的python

5 系统环境变量中设置的python

ps: .python-version是执行 **uv python pin python版本 ** 之后生成的文件,记录当前文件夹下需使用的python版本 ,不需要了直接删除文件即可

uv执行python

# 直接启动
uv run test.py

# 指定python版本的启动
uv run --python python版本 test.py

# test.py(打印当前python版本)

import sys

print(sys.version)

uv创建虚拟环境

# 快速创建python3.11版本的环境
uv venv --python 3.11

# 指定创建的虚拟环境文件夹的名称为py311
uv venv --python 3.11 py311

uv管理依赖

依赖安装用 uv pip

#在当前uv管理的虚拟环境中安装依赖, 如 cowsay

uv pip install cowsay

依赖关系查看用 uv pip tree (树状展示,观看依赖关系更友好)

uv初始化脚本/项目

脚本

# 创建一个脚本cow.py, 其中需要依赖cowsay, rich
uv init --script cow.py cowsay rich 

项目

# 初始化项目 
uv init pojectName

会生成多个文件, 其中myproject.toml记录的是项目执行的环境, 指定了python版本,依赖包等信息;

uv.lock 指明了 下载的依赖包的信息,包括 依赖包的下载源地址, 依赖包的依赖包都有哪些, 对应的下载源地址等

# 执行程序

uv run main.py

首次执行, uv会根据配置文件建立.venv虚拟环境,之后这个项目运行都可通过这虚拟环境直接运行

更新环境依赖

1 直接将pyproject.toml这个文件中的某依赖删除

2 执行 uv lock 将uv.lock文件内容根据pyproject.toml进行更新

3 执行 uv sync 将实际的python环境与uv.lock上的内容保持一致

4 执行 uv pip list 查看当前依赖

ps: uv管理项目的移植后,python环境安装只需要执行 uv sync 即可将项目中记录的python环境建立起来

posted on 2025-03-29 10:23  a_good_name  阅读(2444)  评论(0)    收藏  举报