Условная зависимость с pip и setuptools - PullRequest
0 голосов
/ 13 января 2019

У меня есть пакет, который зависит от другого пакета, который может использовать два эквивалентных API для работы. По причинам лицензирования мне нужен пакет для использования определенного API. Автор указанного пакета любезно включил в свой setup.py

try:
    import correct_license
except ImportError:
    install_requires.append('WrongLicense>=0.04.16')

К сожалению, это не работает с pip для чистой установки и зависимостей, перечисленных в install_requires. Это связано с тем, что pip устанавливает пакеты изолированно, и, похоже, нет никакого способа повлиять на установку.

Мы пытались использовать переменные окружения в прошлом. Это создает очень плохой пользовательский опыт, поскольку они страдают от той же проблемы. Единственный способ заставить их работать - это задать пользователю переменную среды в своей среде. Вы не можете использовать os.environ['xxx'].

Что я могу сделать, что не предполагает взаимодействия с пользователем, но решает проблему? Сейчас мы смотрим на продажу модулей, но это действительно последнее средство.

...