百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

快到飞起的Python包管理工具UV:从环境创建到PyPI发布的终极指南

off999 2025-06-08 23:24 101 浏览 0 评论

尊敬的诸位!我是一名专注于嵌入式开发的物联网工程师。关注我,持续分享最新物联网与AI资讯和开发实战。期望与您携手探寻物联网与 AI 的无尽可能。

"又在等pip安装包?配置国内镜像源也解决不了的龟速?时间就是金钱,目前同步软件包的等待太漫长了。今天介绍一个真正的神器 - uv"

还记得使用pip安装包时的痛苦吗?

  • 龟速的下载进度条
  • 各种依赖冲突报错
  • 费力配置镜像源
  • 时不时的网络超时

现在,这些问题可以一次性解决。UV的出现,就像Python包管理界的特斯拉,把我们从"马车时代"带入了"电动车时代"。( 后续会分享文章自动生成和插图的项目以及Agent的项目,都是用这个管理的)


UV是什么?为什么要用它?

UV是用Rust编写的新一代Python包管理工具。它的出现解决了pip的几个主要痛点:

  • 安装速度慢 → UV并行下载和安装,速度提升10-100倍
  • 依赖解析容易出错 → UV使用先进的解析器,极少出现依赖冲突
  • 资源占用大 → UV内存占用更少,更加轻量

从零开始:完整项目构建流程

1. 安装UV

#方式1
pip install uv
#方式2
# windows 
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# MacOS
curl -LsSf https://astral.sh/uv/install.sh | sh

这条命令会:

  • 下载UV的二进制文件
  • 将UV添加到系统PATH
  • 创建必要的配置文件

2. 创建项目

mkdir my_project cd my_project uv init

uv init 命令会自动:

  • 创建标准的项目结构
  • 生成 pyproject.toml 配置文件
  • 设置基本的项目元数据
  • 初始化git仓库(如果没有的话)
  • 记得删除默认生成的hello.py

3. 创建虚拟环境

uv venv

这条命令会:

  • 创建一个隔离的Python环境
  • 安装基本的包(pip, setuptools等)
  • 生成激活脚本
# Windows 
  .venv/Scripts/activate 
# Linux/MacOS 
source .venv/bin/activate

激活后:

  • 当前终端的Python环境被切换到虚拟环境
  • 所有包的安装都将在该环境中进行
  • 环境变量被相应更新

4. 管理项目依赖

uv add requests pandas

uv add 命令会:

  • 下载并安装指定的包
  • 自动解析所有依赖关系
  • 更新 pyproject.toml 中的依赖列表
  • 如果有依赖冲突,会自动选择最优解

5. 配置项目文件

修改 pyproject.toml:

[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "your-package" version = "0.1.0"

这个配置:

  • 指定使用hatchling作为构建工具
  • 定义包的基本信息
  • 设置项目的版本号


src/your_package/__init__.py 中:

from . import main __version__ = "0.1.0"

这个文件:

  • 导入必要的模块
  • 定义包的版本号
  • 作为包的入口点

UV Run - 运行Python脚本

uv run python script.py # 运行Python脚本 uv run pytest # 运行测试 uv run pip list # 查看已安装的包

UV Run 会:

  • 自动在虚拟环境中执行命令
  • 不需要先激活虚拟环境
  • 比直接运行Python更快

UV Sync - 同步依赖

uv sync # 安装pyproject.toml中的所有依赖 
uv sync --only-packages # 只同步包依赖,不包括开发依赖

UV Sync 会:

  • 读取 pyproject.toml 中的依赖配置
  • 并行下载和安装所有依赖
  • 自动解决依赖冲突
  • 比 pip install -r requirements.txt 快很多

UV Pip - 兼容Pip命令

uv pip install package-name 
# 安装包 uv pip uninstall package-name 
# 卸载包 uv pip list 

UV Pip 相比传统pip:

  • 安装速度更快
  • 自动使用最快的镜像源
  • 更好的依赖解析
  • 完全兼容pip的命令格式

依赖导出和同步

# 导出当前环境的依赖到 requirements.txt uv pip freeze > requirements.txt 
# 包含确切的版本号 uv pip freeze --all > requirements.txt

这个命令会:

  • 生成一个包含所有已安装包的列表
  • 包含精确的版本号(例如:requests==2.31.0)
  • 自动排除不必要的包
  • 比传统的 pip freeze 更快且更准确
# requirements.txt 示例 requests==2.31.0 pandas==2.1.3 numpy==1.24.3

从 requirements.txt 安装依赖:

# 使用 uv pip install uv pip install -r requirements.txt 
# 或使用 uv sync(更推荐) uv sync

这里要提醒:

  1. 建议使用 uv sync 而不是 uv pip install -r,因为: sync 会并行安装所有依赖 更好的依赖解析 安装速度更快
  2. requirements.txt 适合用于: 环境复制 CI/CD 流程 团队协作时同步开发环境

构建和发布到pypi

uv pip install build twine

这会安装:

  • build: 用于构建Python包
  • twine: 用于安全地上传到PyPI
python -m build

这条命令会:

  • 读取pyproject.toml的配置
  • 创建源码包(.tar.gz)
  • 创建wheel包(.whl)
  • 将这些文件放在dist/目录下
python -m twine upload dist/*

上传过程:

  • 要求输入PyPI凭证
  • 验证包的格式
  • 上传到PyPI服务器
  • 完成后包就可以通过pip安装你上传的包了

相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: