uv
uv是Python的包管理工具,它可以用来安装、升级、卸载Python包。使用uv可以大大方便项目的管理,他像npm一样建立了项目环境,但又采用软链接的形式减少了空间占用并加快了安装速度。使用uv是未来管理Python项目的趋势。
uv官方文档
uv常用命令
初始化项目
1 | uv init --package |
安装包
1 | uv add <package-name> |
卸载包
1 | uv remove <package-name> |
安装项目依赖
1 | uv sync |
运行项目
1 | uv run <command> |
查看项目依赖树
1 | uv tree |
构建项目
1 | uv build |
无外网使用
当我在服务器上使用uv时,我不能指望服务器有外网,所以我需要使用国内镜像源。
安装Python
1 | export UV_PYTHON_INSTALL_MIRROR=https://proxy.pipers.cn/https://github.com/astral-sh/python-build-standalone/releases/download |
换源
在~/.config/uv
目录下创建uv.toml
文件,添加以下内容。
1 | [[index]] |
uv工具
nvitop
nvitop是一个用于监控NVIDIA GPU的工具,它可以显示GPU的使用情况。
安装命令
1 | uv tool install nvitop |
运行nvitop
1 | nvitop |
uv脚本
Python是一个脚本语言,而uv的脚本功能,使我深刻了解到了这一点。
编写uv脚本
在src
目录下创建utils/__init__.py
文件,在__init__.py
文件中编写功能脚本,实现与项目相关的功能。
例如,编写一个脚本,从pyproject.toml
文件中提取依赖并写入requirements.txt
文件中。
1 | def write_requirements(): |
pyproject.toml
文件中的project.scripts
条目是项目的脚本入口,在其中添加utils/__init__.py
文件中的函数。
1 | [project.scripts] |
执行脚本。
1 | uv run requires |
几个常用脚本
执行shell命令,并实时显示输出。
1 | import subprocess |
读取并解析pyproject.toml
文件,config
中包含pyproject.toml
的所有信息。
1 | import sys |