Удалить пакеты из локального индекса pypi

Это похоже на этот вопрос за одним исключением. Я хочу удалить несколько конкретных версий пакета из нашего локального индекса pypi, которые я загрузил в прошлом с помощью следующей команды.

python setup.py sdist upload -r <index_name>

Любые идеи?


person Indrajeet    schedule 19.06.2014    source источник


Ответы (3)


Удаление пакетов из локального индекса pypi зависит от типа используемого вами индекса pypi.

удаление пакета из индекса devpi

devpi позволяет удалять только пакеты от так называемых волатильных индексов. Неизменяемые индексы - это индексы, подобные выпускам, и удаление из них не разрешено (как вы можете удивить пользователей в зависимости от выпущенного пакета).

Например. для пакета pysober версии 0.2.0:

$ devpi remove -y pysober==0.2.0

удаление пакета из общедоступного pypi

описан в ответе, на который вы уже ссылались.

удаление пакета из других индексов

Может варьироваться, но во многих случаях вы можете удалить файлы вручную (с должным вниманием).

person Jan Vlcinsky    schedule 19.06.2014

В качестве дополнения к ответу @jan-vlcinsky

Удаление из pypiserver

Например, используя curl:

curl --form ":action=remove_pkg" --form "name=<package_name>" --form "version=<version>" <pypiserver_url>
person Emmanuel Sciara    schedule 04.09.2019

Я использую pypiserver, и мне пришлось удалить плохой пакет, поэтому я просто подключился по SSH и удалил плохие пакеты и перезапустил службу.

Команды были примерно такими:

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

Мне казалось, что это работает нормально, и вы можете просто удалить то, что вам нужно, с помощью стандартных команд оболочки. Просто не забудьте перезапустить процесс, чтобы он обновил свой индекс.

person AndrewWhalan    schedule 29.07.2020