【问题标题】:Remove packages from local pypi index从本地 pypi 索引中删除包
【发布时间】:2014-08-10 04:01:36
【问题描述】:

这与question 类似,但有一个例外。我想从我们的本地 pypi 索引中删除一些特定版本的包,这些是我过去使用以下命令上传的。

python setup.py sdist upload -r <index_name>

有什么想法吗?

【问题讨论】:

    标签: setuptools pypi python-packaging devpi pypiserver


    【解决方案1】:

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

    devpi 索引中删除包

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

    例如对于包pysober 0.2.0 版:

    $ devpi remove -y pysober==0.2.0
    

    从公共 pypi 中删除包

    在您已经提到的answer 中有描述。

    从其他索引中删除包

    可能会有所不同,但在许多情况下,您可以手动删除文件(小心谨慎)。

    【讨论】:

      【解决方案2】:

      作为@jan-vlcinsky 回答的附录

      pypiserver 中删除

      curl 为例:

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

      【讨论】:

        【解决方案3】:

        我正在使用 pypiserver 并且不得不删除一个坏包,所以我只是通过 SSH 连接并删除了坏包并重新启动了服务。

        命令大致如下:

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

        这对我来说似乎工作得很好,您可以使用标准 shell 命令删除您需要的内容。请务必重新启动该进程,以便它刷新其索引。

        【讨论】:

          猜你喜欢
          • 2019-04-03
          • 2013-12-22
          • 2018-07-04
          • 1970-01-01
          • 2017-07-09
          • 1970-01-01
          • 2011-09-25
          • 2018-09-12
          • 2019-07-26
          相关资源
          最近更新 更多