У меня есть дерево зависимостей модулей, которое работает следующим образом (→ указывает на зависимость):
a → b, c
b → ruamel.yaml >= 0.16.5
c → ruamel.yaml < 0.16.6, >=0.12.4
Мне очень ясно, что ruamel.yaml 0.16.5
правильно разрешит обе эти зависимости. Однако, когда я pip install a
, я получаю следующие журналы:
Collecting ruamel.yaml>=0.16.5
Downloading ruamel.yaml-0.16.10-py2.py3-none-any.whl (111 kB)
А потом:
ERROR: <package c> 0.4.0 has requirement ruamel.yaml<0.16.6,>=0.12.4, but you'll have ruamel-yaml 0.16.10 which is incompatible.
Таким образом, pip полностью игнорирует зависимости внуков при выборе пакетов для установки. , Но он понимает, что все испортилось в конце. Почему пункт не выбирает правильный пакет здесь. Есть ли способ помочь ему работать лучше?