Необязательные зависимости для пакетов PyPI - PullRequest
1 голос
/ 12 июля 2019

Я хочу создать новый пакет PyPI , но у него будут специальные колеса, на которых я буду вызывать его так:

pip install misoftware[customer1]

Возможно ли это?

Если да, как я могу предоставить патчи для [customer1]

Например, мой основной выпуск:

misoftware==1.1 и

misoftware[customer1]

Я хочу

misoftware[customer1]==1.1.2

Всего будет 3 колеса

1 Ответ

1 голос
/ 12 июля 2019

Вы описываете setuptools «дополнительные» . Это позволяет вам указать дополнительные зависимости, например,

  • misoftware просто устанавливает misoftware пакет
  • misoftware[customer1] установит пакет misoftware плюс некоторые дополнительные зависимости

Недостатком является то, что зависимости, которые вы перечисляете в своих дополнениях, должны размещаться как сами пакеты, так и в PyPI. Поэтому вам нужно создать пакет misoftware_customer1 и т. Д.

...