В python PIP, как я могу сделать файлы в моем частном индексе pip "безопасным и проверяемым"?

Я был счастливым человеком, имея свой собственный счастливый местный индекс pip. Однажды я обновил клиент pip, и я больше не доволен:

Downloading/unpacking super_package
Getting page https://my_server/index/super_package/
URLs to search for versions for super_package:
* https://my_server/index/super_package/
* https://pypi.python.org/simple/super_package/
Analyzing links from page https://my_server/index/super_package/
Skipping https://my_server/ci/super_package-0.2.2.tar.gz (from https://my_server/index/super_package/) because it is an insecure and unverifiable file.

но почему? У меня включен SSL на моем сервере и мой

2 ответов


вы указываете хэши в ссылках на пакет? Если нет, Пип не будет доверять ссылке.

проверить склад Docs на simple api для детали / примеры.


короткий ответ:

Регистрация <meta name="api-version" value="..." /> на .

подробный ответ!--15-->

я мог бы быть более конкретным, если бы знал истинный url вашего локального индекса (заданный как https://my_server/index) и как вы его создали.

Я не, поэтому я надеюсь помочь со следующими более общими мыслями.

прежде всего, вы можете использовать командная строка. Видимо, это не очень хорошая идея как насколько вы заботитесь о безопасности вашего компьютера.

если вы предпочитаете оставаться в безопасной зоне, вам нужно выяснить, почему ваш источник считается небезопасным и непроверяемым.

глядя на код, где эта ошибка была сгенерирована, вы можете увидеть, что наиболее вероятной причиной является результат verifiable() метод Link класса.

глядя на этот метод и учитывая, что ваша страница индекса должна быть в trusted список из-за

index-url = https://my_server/index

строка в конфигурационном файле, основной причиной слева является значение переменной _api_version. Чтобы проверить, что такое api_version индексного файла, проверьте meta теги и искать что-то вроде этого:

<meta name="api-version" value="2" />

если его там нет, или если он имеет значение 1 или меньше, то проблема должна быть здесь.

есть также некоторые hash проверка, но я не исследовал, как это работает.