在 python 包开发中,你完全可以在推进 `1.0.0.dev1` 等预发布版本的同时,继续发布 `0.8.5` 或 `0.9.0` 等稳定版本;pip 及主流工具(如 poetry、pipenv)默认忽略预发布版本,优先安装最新稳定版。
这是语义化版本(SemVer)与现代 Python 工具链协同工作的标准实践。核心原理在于:预发布版本(如 1.0.0.dev1、1.0.0a1、1.0.0rc2)在版本比较中被明确标记为“非稳定”,因此不会干扰稳定分支的迭代节奏。
例如,假设你的 PyPI 仓库中存在以下版本:
当用户执行 pip install mypackage 时,pip 默认启用 --pre 标志的反向行为——即 不包含 --pre 时,自动排除所有含 dev/a/b/rc 等标识的版本。因此,它将解析出最高稳定版本 0.9.0(若已发布),而非 1.0.0.dev1。
✅ 正确操作示例(setup.py 或 pyproject.toml 中):
# pyproject.toml [project] name = "mypackage" version ="0.8.5" # 发布稳定版时直接更新此处
# 发布 0.8.5(稳定) twine upload dist/mypackage-0.8.5-py3-none-any.whl # 同时,1.0.0.dev1 可独立发布(需显式指定 --pre) twine upload dist/mypackage-1.0.0.dev1-py3-none-any.whl
⚠️ 注意事项:
总结:并行维护多个稳定小版本(0.8.x → 0.9.x)与一个长期开发的大版本(1.0.0)不仅可行,更是提升项目可维护性与用户信任度的关键策略——它保障了现有用户持续获得安全修复与小幅增强,同时为新特性提供充分的灰度验证周期。
# python
# git
# 工具
# ai
# win
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化76771 】
【
技术知识130152 】
【
IDC云计算60162 】
【
营销推广131313 】
【
AI优化88182 】
【
百度推广37138 】
【
网站推荐60173 】
【
精选阅读31334 】
相关推荐:
Mac如何使用听写功能_Mac语音输入打字【效率技巧】
Win10如何关闭安全中心所有通知 Win10禁用Windows Defender提醒【设置】
Windows蓝屏错误0x0000002C怎么解决_系统IO异常排查方法
c# 如何深拷贝和浅拷贝
c++获取当前时间戳_c++ time函数使用详解
手机php文件怎么变成mp4_安卓苹果打开php转mp4方法【教程】
Mac怎么安装软件_Mac安装dmg与pkg文件的区别【指南】
Python文件和流处理指南_高效读写大体积数据文件
Win11怎么关闭系统透明度_Windows11个性化颜色透明效果
Windows10如何更改开机密码_Win10登录选项更改密码教程
Mac如何整理桌面文件_Mac使用堆栈功能一键整理
如何使用Golang实现路由分组管理_Golang路由分组与权限控制方法
PHP 中如何在函数内持久化修改引用变量的指向
如何在 ACF 中正确更新嵌套多层 Group 字段内的子字段
MAC怎么使用表情符号面板_MAC Emoji快捷键调用与符号查找【方法】
Windows10系统怎么查看IP地址_Win10网络连接状态详细信息
Linux如何安装JDK11_Linux环境变量配置与Java开发环境搭建【教程】
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
Win11如何设置省电模式 Win11开启电池节电功能【优化】
Mac电脑如何恢复出厂设置_Mac抹掉数据并重装系统【安全指南】
Win11怎么设置单手模式_Win11触控键盘布局调整教程【技巧】
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Windows10系统怎么查看运行时间_Win10 CPU正常运行时间查询
PowerShell怎么创建复杂的XML结构
如何在 Django 中安全修改用户密码而不使会话失效
Linux怎么实现内网穿透_Linux安装Frp客户端与服务端配置【方法】
静态属性修改会影响所有实例吗_php作用域操作符下静态存储【教程】
mac怎么打开终端_MAC终端Terminal使用入门与常用命令【教程】
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Win11任务栏天气怎么关闭 Win11隐藏天气小组件图标【设置】
Win10如何卸载自带Edge_Win10彻底卸载Edge浏览器教程【攻略】
如何使用Golang捕获测试日志_Golang testing日志记录方法
windows如何修改文件默认打开方式_windows设置程序关联教程
Win11开机Logo怎么换_Win11自定义启动画面工具【高级】
Windows电脑如何截屏?(四种快捷方法)
MAC怎么在照片中添加水印_MAC自带编辑工具文字水印叠加【方法】
Mac如何创建和管理多个桌面空间_Mac高效多任务处理【技巧】
如何在Golang中实现微服务负载均衡_Golang负载均衡策略与实现示例
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
本地php环境出现502错误_nginx或apache502badgateway解决技巧【解答】
TestNG的testng.xml配置文件怎么写
Win11怎么更改鼠标指针方案_Windows11自定义鼠标光标样式与大小
Python类装饰器使用_元编程解析【教程】
Golang如何遍历目录文件_Golang filepath.Walk目录遍历操作方法
Linux如何安装Golang环境_Linux下Go语言开发包配置【方法】
php能跑在stm32上吗_php在stm32微控制器上的移植方法【介绍】
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
Win11如何开启系统更新 Win11开启系统更新方法【步骤】
c++中的Tag Dispatching是什么_c++利用标签分发优化函数重载【元编程】
如何在 Go 中正确反序列化 XML 多节点数组(解决仅解析首个元素的问题)
2025-12-27
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。