extra_requires с другой версией, чем в install_requires - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть setup.py для пакета, где я всегда хочу установить packageA какой-либо версии, но иногда с указанной c версией (1.2.3). То, что я хочу сделать, это что-то вроде

setup(name=...,
      install_requires=[packageA],
      extra_requires={'foo': [packageA==1.2.3]}
)

, так что packageA всегда устанавливается, но я могу принудительно установить его с указанной c версией, выполнив pip install mypackage[foo]. ОДНАКО, это на самом деле не работает - extra_requires, очевидно, не применяется, если пакет уже находится в install_requires? Есть ли способ обойти это? То, что я хочу сделать, это установить pip install mypackage установочный пакет A общей c версии, но разрешить способ установки с указанной c версией.

ПРИМЕЧАНИЕ. Я НЕ хочу сделать что-то вроде

setup(name=...,
      install_requires=[],
      extra_requires={'foo': [packageA==1.2.3], 'bar': [packageA]}
)

, так как тогда обычная установка pip не устанавливает пакет A по умолчанию

...