如何从 Pypi 中删除一个包

Posted

技术标签:

【中文标题】如何从 Pypi 中删除一个包【英文标题】:How to remove a package from Pypi 【发布时间】:2013-12-22 14:14:42 【问题描述】:

几个月前我上传了一个包到 Pypi。该软件包现已过时,我想正式将其删除。我找不到任何关于如何删除我的包裹的文档。

【问题讨论】:

【参考方案1】:

新的 PYPI 网站

    登录 pypi.org 转到版本 点击选项下拉列表中的delete 输入版本号确认 点击Delete Release删除发布。


原答案

登录pypi,从Your packages中选择需要的包

仅删除软件包的一个版本。

选中您要删除的单个软件包版本上的Remove?复选框,然后单击删除。

彻底删除包

向下滚动,直到看到红色框,上面写着不要使用此按钮,然后单击完全删除此项目,然后在下一页上确认您的操作。 别忘了,没有撤消选项

【讨论】:

我登录时没有看到这个列表:只是一个没有复选框或链接的版本名称列表。 这是危险且过时的。新的 pypi.org 不能这样工作。更好的方法是弃用旧包(见我的回答) @DimitriMerejkowsky 弃用是另一回事,删除是另一回事。这个问题是专门关于删除的。【参考方案2】:

这不是一个好主意,因为之前软件包的所有用户都会看到他们的安装失败。

如果你想弃用一个包,你可以做的是发布一个带有指向新包的 README 的最新版本。我是为python-cli-ui 做的,它被cli-ui 取代

如果你想变得花哨,你也可以:

添加运行setup.py 时打印的警告 或在导入时 或将包替换为依赖于新名称的虚拟包。

【讨论】:

您,先生,大大高估了我以前的软件包的用户数量。 :) (虽然不要删除人们使用的软件包)【参考方案3】: 登录。 转到您的包裹。 选中特定包的“删除”复选框。 点击“删除”按钮。

【讨论】:

好的,后续问题……我怎么知道是哪个“用户”注册的? @Rico 用户名在包页面底部显示为“包索引所有者”。 谢谢,Pypi 中的用户似乎存在混淆。我必须采取更多步骤才能找到我的解决方案。

以上是关于如何从 Pypi 中删除一个包的主要内容,如果未能解决你的问题,请参考以下文章

从本地 pypi 索引中删除包

如何从 Conda 中删除频道 (pypi.org)

如何从经过身份验证的私有 Artifactory PyPI 存储库中提取 Python 包?

如何从 PyPi 包中提取依赖项

如何在脚本中列出与导入对应的 PyPI 包的名称?

从 PyPi 下载***