У меня есть 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 по умолчанию