sor*_*rin 21 distutils pypi distutils2
我想在某些情况下自动化上传过程错误python setup.py upload失败,因为pypi服务器已经上传了保存版本.
如何从脚本强制上传(我知道我可以使用Web界面删除旧版本).
一个迟到的答案,但是:似乎每个人都同意您不能覆盖现有的 pypi 上传,也不能在删除损坏的版本后重新上传固定版本。然而,这似乎实际上是可能的并且得到官方支持:“内部版本号”是一个没有人使用过或记得它们存在的功能,但这似乎有效,至少对我来说。
诀窍是按以下模式重命名文件:
mypackage-0.31.0-py2.py3-none-any.whl
mypackage-0.31.0-1-py2.py3-none-any.whl
mypackage-0.31.0-2-py2.py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)
“-1”或“-2”是内部版本号。如果 pip 找到同一个版本的所有这些文件,它将选择具有最高内部版本号的文件。这也似乎工作,如果它发现只有一个非零的内部版本号的单个文件,所以你可以使用你删除了原始后。
(在https://www.python.org/dev/peps/pep-0427/#file-name-convention的文档中很快提到了这一点,但如果没有 Daniel Holth 指出,我不会猜到它的用途我。谢谢丹尼尔!)
我不知道为什么互联网上有这么多人相信这是不可能的。我自己昨天才知道这件事,并认为我应该尝试传递这些信息。
在此处插入关于不要滥用该功能的常见警告。我认为您应该使用它的一个典型示例是在其中一个轮子制造不良并且您需要用来自相同来源的正确制造的轮子替换它之后
小智 8
这是一个实际的答案,而不仅仅是我在评论中添加了更多的观点。发现这个线程:
https://www.reddit.com/r/Python/comments/35xr2q/howto_overwrite_package_when_reupload_to_pypi/
那指的是:
http://comments.gmane.org/gmane.comp.python.distutils.devel/22739
说做不到。
还要注意 reddit 线程中关于阅读 semver.org 和增加补丁的微型版本的评论。
| 归档时间: |
|
| 查看次数: |
6507 次 |
| 最近记录: |