从本地pypi索引中删除包

时间:2014-06-19 14:51:56

标签: python installation sdist

这与此question类似,但有一个例外。我想从我们的本地pypi索引中删除一些特定版本的软件包,我之前使用以下命令上传了该索引。

python setup.py sdist upload -r <index_name>

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

从本地pypi索引中删除包取决于您使用的pypi索引的类型

devpi索引

中删除包

devpi仅允许removing packages来自所谓的volatile索引。非易失性是“发布类似”索引,并且不允许从中删除(因为根据发布的软件包会让用户感到惊讶)。

E.g。对于包pysober版本0.2.0:

$ devpi remove -y pysober==0.2.0

从公共pypi中删除包

在您已经提及的answer中进行了描述。

从其他索引中删除包

可能会有所不同,但在很多情况下,您可以手动删除文件(请妥善保管)。

答案 1 :(得分:4)

作为@ jan-vlcinsky答案的附录

pypiserver移出

例如使用curl

curl --form ":action=remove_pkg" --form "name=<package_name>" --form "version=<version>" <pypiserver_url>

答案 2 :(得分:0)

我正在使用pypiserver,不得不删除一个错误的程序包,所以我只是SSH进入并删除了这些错误的程序包,然后重新启动了服务。

命令大致为:

ssh root@pypiserver
cd ~pypiserver/pypiserver/packages
rm bad-package*
systemctl restart pypiserver.service

这对我来说似乎很好,您可以使用标准的shell命令删除所需的内容。只需确保重新启动该过程即可刷新其索引。