Можно ли "заблокировать" зависимости для приложения Python CLI на PyPI? - PullRequest
0 голосов
/ 10 октября 2018

Допустим, я занимаюсь разработкой Python CLI-приложения, которое планирую распространить среди других.Обычный способ сделать это - через Индекс пакета Python и требует, чтобы я создал setup.py с информацией об упаковке.

Когда я объявляю зависимости для своего пакета, setup.py требуетзаполнить параметр install_requires функции setup.Это нормально, но имеет свои ограничения, а именно: блокировка этих зависимостей.

Проблема, которую я хочу избежать в моем коде, может быть показана на примере: предположим, я объявляю зависимость, такую ​​как requests==2.19.1, который сам объявляет certifi>=2017.4.17 как свою собственную зависимость.Через некоторое время мы переходим к следующему пункту, и certifi v2018.3.2 был выпущен с переписанным API.Поскольку requests только объявляет нижнюю границу этой зависимости, она может порвать с новой версией certifi, что может привести к поломке моего кода.

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

...