PEP508: почему либо требование к версии, либо URL, а не оба? - PullRequest
2 голосов
/ 25 марта 2020

При настройке install_requires=[...] в файле setup.py мы можем указать либо номера версий:

package >= 1.2.3

, либо источник:

package @ git+https://git.example.com/some/path/to/package@master#egg=package

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

Глядя на PEP 508 , похоже, что он предназначен:

specification = wsp* ( url_req | name_req ) wsp*

где wsp* просто означает необязательный пробел.

  1. Правильно ли я понял, что невозможно написать что-то подобное? package >= 1.2.3 @ git+https://...

  2. В чем причина этого решения?

1 Ответ

1 голос
/ 25 марта 2020

Я полагаю, что это потому, что получение пакета python с URL / Github не позволяет получать исторические сборки / пакеты, как вы это делаете через пакеты, хранящиеся в PyPi .

* 1004. * Github / URLs ссылаются на один снимок кода, вы можете имитировать получение определенных c версий, если у вас есть теги или ветки релизов в GitHub, и обновите URL для ссылки на эти версии:

git+https://git.example.com/some/path/to/package@master#egg=package git+https://git.example.com/some/path/to/package@develop#egg=package git+https://git.example.com/some/path/to/package@1.4.2#egg=package

...