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环境建立起来
浙公网安备 33010602011771号