Python管理工具UV

常用 UV 命令

安装

  • pip install uv

版本相关

  • uv python list 打印所有uv支持的python版本
  • uv python install cpython-3.12 安装指定的python版本
  • uv run -p 3.12 test.py 用指定的python版本运行python代码
  • uv run -p 3.12 python 进入python执行环境。假如输入的版本是一个本地不存在的,则uv会先下载,再进入该python环境

虚拟环境

  • uv init 在当前目录初始化一个pyhton项目,注意:不会把虚拟环境创建出来
  • uv init -p 3.13 初始化一个基于python 3.13的项目
  • uv init testfile 初始化一个python项目,且文件目录为testfile
  • 进入项目执行 uv venv 在当前项目创建一个虚拟环境
  • source .venv/bin/activate 激活当前虚拟环境
  • deactivate 关闭当前虚拟环境
  • uv add pydantic_ai 把pydantic_ai这个库安装到当前工程中
  • uv run main.py 假设当前项目有一个main.py,该命令是运行main.py
  • uv tree 打印整个工程的依赖树
  • uv add ruff --dev ruff是一个检查python格式的库,该命令用于安装ruff且以dev模式,避免打包的时候打进去
  • uv remove ruff --dev 从项目依赖中删除ruff库
  • uv tool install ruff 把ruff安装到系统全局环境,而不是当前项目,类似于npm install -g
  • uv tool list 查看系统中当前都安装了哪些python 工具
  • uv build 会把项目打包成一个.whl文件,然后这个文件发布后就可以让所有人使用了。打包前需要做点事情,在pyproject.toml中,指定脚本的名称和需要执行的文件:函数
[project.scripts]
testrun = "main.main"

当打包完并安装好后,就可以直接执行testrun了,具体执行的是main.py文件中的main函数

  • uv sync 类似如npm install,按照当前项目pyproject.toml文件中的依赖配置安装依赖,并生成uv.lock文件,如果有uv.lock了,就严格按照uv.lock里的版本下载

uvx什么作用?

核心功能

  • 自动拉取与执行
    当执行 uvx twine 时,会从 PyPI 自动下载最新版 twine 包,并创建一个临时虚拟环境运行它。
# 实际执行逻辑等效于: 
uv pip install --temp twine && python -m twine [command]
  • 零残留运行
    任务完成后自动清理临时环境,不会在本地留下安装痕迹(除非显式指定持久化)。
### Python 打包工具 UV 的使用方法 UV 是一种高效的 Python管理工具,旨在简化开发者的工作流程并提供一致的环境配置体验[^1]。以下是关于如何使用 UV 进行 Python 开发的相关说明。 #### 安装 UV 要安装 UV,可以通过官方文档或其他可信渠道获取安装脚本。通常情况下,可以直接运行以下命令完成安装: ```bash curl https://get.uv.sh | bash ``` 此命令会自动检测操作系统,并下载适合的二进制文件进行安装。 #### 配置 Python 环境 一旦 UV 被成功安装,即可利用其内置功能来管理和切换不同的 Python 版本。例如,如果需要安装特定版本的 Python,则可以执行以下命令: ```bash uv python install 3.9 ``` 上述命令会让 UV 自动从官方网站下载指定版本的 Python 并将其添加至系统的 PATH 中。 #### 创建项目结构与依赖管理 对于新项目的初始化,推荐创建 `pyproject.toml` 文件用于定义构建系统和其他元数据信息。假设当前目录下已经存在一个名为 `setup.py` 或者其他形式的描述符文件,那么可通过以下方式生成锁文件(lock file),从而固定所有依赖项的具体版本号: ```bash uv lock generate --output=uv.lock ``` 这一步骤类似于传统 Pipenv 流程中的 `Pipfile.lock` 生产过程,不过最终产物被命名为 `uv.lock` 来区分不同工具链之间的差异[^4]。 #### 构建分发档案 当准备分享自己的库或者应用程序给其他人时,就需要借助于 sdist (source distribution) 和 wheel (binary distribution) 形式的压缩包。这些操作同样能够由 UV 提供的支持轻松实现: ```bash uv build . ``` 该指令会在本地路径上查找必要的元数据源码位置,并按照 PEP 517/PEP 518 标准规范打包成果物[^2]。 --- ### 注意事项 尽管 UV 功能强大且易于学习掌握,但在实际应用过程中仍需注意一些细节问题: - **多版本共存处理**:由于许多用户的机器可能同时拥有多个解释器实例,在调用相关 CLI 命令前务必确认目标对象无误; - **跨平台兼容性验证**:考虑到 Windows/Linux/macOS 存在细微差别之处,建议尽可能多地测试各种场景下的行为表现一致性; ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值