从零开始通过uv发布年轻人的第二款pip包

2026-04-13
从零开始通过uv发布年轻人的第二款pip包 关注 新手上路 关注 新手上路 关注 新手上路 关注 新手上路 2025/12/01 05:55

在上一篇从零开始制作年轻人的第一款pip包 中我们介绍了如何通过通过最常见的方式发布一个pip包,一年过去了,今年我们整点新活,用uv进行发布! 海外华人视频网xiaobaotv.video

什么是uv

uv是一个最近新出的工具,可用于python版本管理、虚拟环境管理、管理安装pip包、项目部署、配置同步等等 JogodoTigrinho a5game.app sweetbonanza1000demo a5game.app

当然,最重要的原因只有一个字——快!
  Caça-níqueis a5game.app 电影小宝影院xiaobaotv.video

install-warmhttps://github.com/astral-sh/uv/blob/main/BENCHMARKS.md

先安装uv

如果你已经有python了,非常简单 pgslot a5game.app 华人影视xiaobaotv.video fortunetigerbônusgrátissemdepósito a5game.app Cassinos a5game.app

pip install uv

完事😎 slotdemo a5game.app 小宝影院在线视频xiaobaotv.video

当然你也可以通过其他方式安装,详见Installation | uv jogosdemopg a5game.app aiyifan yfsp.app 爱壹帆影视yfsp.app 爱一帆 yfsp.app 爱亦凡yfsp.app slotsdemo a5game.app

 

新建一个uv项目

新建一个文件夹,然后创建虚拟环境,然后初始化uv项目 sugarrush1000demo a5game.app demo a5game.app 爱壹帆寻秦记yfsp.app iyf yfsp.app

uv venv -p 3.10 #指定项目的python版本
uv init

虚拟环境默认安装在执行路径的.venv文件夹,激活虚拟环境,就可以直接使用了 爱壹帆电影yfsp.app a5game a5game.app fortunetigerdemográtis a5game.app 爱壹帆免费版yfsp.app

source .venv/bin/activate #macos
#.venv/python/activate.exe #windows

比如这样 小宝影院电影xiaobaotv.video 小寶影院xiaobaotv.video 寻秦记爱壹帆yfsp.app iyftvyfsp.app fortunedragon demo a5game.app xiaobao xiaobaotv.video

❯ source .venv/bin/activate
❯ which python
/Users/ww/coding/ocr-cli/.venv/bin/python

同时你也会看到当前路径下多了一个pyproject.toml文件,这里记录了这个uv项目的相关信息 tigrinho gratis a5game.app iyifanyfsp.app pgslotgacor a5game.app demo a5game.app

如果你需要给这个项目增加一些依赖包,使用 电影爱壹帆yfsp.app

uv add pip包名

接下来用这个虚拟环境开发好你的pip包,本教程跳过这一环节,默认你已经开发好且测试好了 fortuneoxdemográtis a5game.app slot a5game.app ifvodyfsp.app pragmatic a5game.app

用uv 构建并发布pip包到pypi

在前面通过uv init创建的pyproject.toml,就可以取代传统的setup.py,如果你不熟悉setup.py,请复习一下从零开始制作年轻人的第一款pip包 ifun yfsp.app

除了uv专用的一些功能,针对pip包的部分写法基本是一致的,具体请看Packaging Python Projects - Python Packaging User Guide 一帆视频yfsp.app 爱一番yfsp.app 免费在线影院xiaobaotv.video 电影爱壹帆yfsp.app

比如我的pyproject.toml长这样(简化后) 小寶影院电影xiaobaotv.video slots a5game.app 足球比分 a5game.app 爱壹帆在线yfsp.app jogodotigrinhodemo a5game.app


requires = ["setuptools>=45", "wheel"]

build-backend = "setuptools.build_meta"



[project]

name = "deepseek-ocr-cliv2"

version = "0.1.3"

description = "ocr识别命令行工具"

readme = "README.md"

requires-python = ">=3.10"

license = { file = "LICENSE" }

classifiers = [

"License :: Other/Proprietary License",

"Programming Language :: Python :: 3.10",

"Programming Language :: Python :: 3.11",

"Programming Language :: Python :: 3.12"

]

dependencies = [

"requests>=2.32.5",

]



[project.urls]

Homepage = "https://github.com/whitewatercn/deepseek-ocr-cli"

Repository = "https://github.com/whitewatercn/deepseek-ocr-cli"



[project.scripts]

dsocr = "dsocr.main:main"



[tool.setuptools.package-dir]

dsocr = "dsocr_core/dsocr"



[tool.setuptools.packages.find]

where = ["dsocr_core"]

include = ["dsocr*"]

接下来就可以build了,你不需要安装wheel twine这两个pip包,直接使用uv内置的功能就行 demotigrinho a5game.app plataformademográtis a5game.app

uv build  -o ./dist    
# -o指定输出目录

⚠️注意后面一定要加参数 -o ./dist,不然会构建到home目录里去,publish时找不到构建出来的内容 pgdemo a5game.app tigrinhodemo a5game.app 爱壹帆国际版 yfsp.app

这时你就会看到/dist文件夹下两个文件 plataformademo a5game.app 爱壹帆yfsp.app 一帆yfsp.app

❯ ls dist
deepseek_ocr_cliv2-0.1.4-py3-none-any.whl
deepseek_ocr_cliv2-0.1.4.tar.gz

然后用uv内置的功能发布,下面这样就发布成功了!

❯ uv publish
Publishing 2 files to https://upload.pypi.org/legacy/
Enter username ('__token__' if using a token): __token__
Enter password: 
Uploading deepseek_ocr_cliv2-0.1.4-py3-none-any.whl (5.2KiB)
Uploading deepseek_ocr_cliv2-0.1.4.tar.gz (4.2KiB)

⚠️本文撰写的时候,pypi已经不允许通过账户、密码发布了,必须通过token发布,如何获取token详见从零开始制作年轻人的第一款pip包 pg a5game.app

撒花庆祝

比起通过twine发布的方式,uv build 和 publish都快了很多 slotpix a5game.app ifuntvyfsp.app fortunetigerbônusgrátissemdepósito a5game.app

你可以尝试修改我的源码whitewatercn/deepseek-ocr-cli,自己发布一下 nba比分 a5game.app pglucky88 a5game.app pragmaticplay a5game.app 爱一帆 yfsp.app

本来想写一个使用硅基流动apikey调用deepseekocr的api,写完才发现已经有一堆人发布了,本项目中止😅 小宝影院xiaobaotv.video 爱壹帆电影 yfsp.app

https://pypi.org/search/?q=deepseek-ocr
00目录 0
    讨论 我来说一句 发布发表评论 发布Python 0等 0 人为本文章充电 还没有介绍自己 关注