python - PyPi 拒绝版本值
问题描述
我正在尝试将包上传到 pypi 并收到错误:
“4.5.1-2021.2-0”是版本的无效值。错误:以仅包含 ASCII 数字和“.”、“_”和“-”的字母或数字开头和结尾。有关更多信息,请参阅https://packaging.python.org/specifications/core-metadata。
我知道我的名字不符合PEP440,但它匹配 PyPi 值格式。奇怪,它代替_
了-
来自setup.py
:
setuptools.setup(
name="opencv-python-inference-engine",
version="4.5.1_2021.2_0",
...
包文件名:opencv_python_inference_engine-4.5.1_2021.2_0-py3-none-manylinux1_x86_64.whl
我做错了什么,除了 PRP440 合规性?
UPD: “4.5.1-2021.2”也会产生错误,但它看起来符合 PEP440(预发布分隔符)。
解决方案
您的版本不符合 PEP440。预发布版本必须包含预发布“阶段”(alpha、beta、候选发布)。
预发布段由预发布阶段的字母标识符和非负整数值组成。给定版本的预发布首先按阶段(alpha、beta、候选版本)排序,然后按该阶段内的数字组件排序。
X.YaN # Alpha release
X.YbN # Beta release
X.YrcN # Release Candidate
X.Y # Final release
对于 alpha 这意味着字母a
,对于 beta 这意味着字母b
,对于 Release Candidate,您需要rc
。将破折号更改为a
或b
,我认为它会起作用。
推荐阅读
- android - Google AdMob 插页式示例未展示广告
- c# - 如何在 Android 上自动从电源按钮启动应用程序页面
- hadoop - 如何调试“HOME 设置不正确”的 Java 错误?
- api - 如何使来自 Google Analytics api 的数据在我的应用程序中实时
- php - Codeigniter ci_session cookie(GDPR 问题)
- c - 执行使用该库的程序时如何调用静态库的函数
- react-native - 用户注销时重置主 StackNavigator?
- php - PHP - 从 POST 和 POST 获取数据到另一个 url 以提高性能
- sql - 访问查询:子程序集汇总
- visual-studio-code - VSCode 扩展中的文本到图像转换