Почему зависимости Python, перечисленные Ubuntu, отличаются от того, что устанавливает apt-get

На сайте Ubuntu есть три зависимости, перечисленные для пакета Python. Однако, когда я использую apt-get install python, устанавливаются шесть дополнительных пакетов.

Итак, пакеты Ubuntu говорят, что мне нужно: libpython-stdlib, python-minimal и python2.7

И apt-get говорит, что мне нужно: libpython-stdlib, libpython2.7-minimal , libpython2.7-stdlib, python-minimal, python2.7 и python2.7-minimal

Откуда эта разница? Какую ссылку я бы использовал, чтобы узнать, какие дополнительные пакеты будут установлены до того, как я наберу команду apt-get install ....

0
задан 12 May 2019 в 19:59

1 ответ

Это рекурсивные зависимости.

График зависимостей (нарисованный вручную и поэтому чрезмерно упрощенный, включающий только упомянутые вами пакеты) будет выглядеть примерно так:

python
├── libpython-stdlib
│   └── libpython2.7-minimal
├── python2.7
│   ├── libpython2.7-stdlib
│   └── python2.7-minimal
└── python-minimal
    └── python2.7-minimal

Видите ли, каждая зависимость - это просто обычный пакет, который может иметь больше собственные зависимости. Вы можете получить эту информацию на https://packages.ubuntu.com , щелкнув ссылки всех пакетов зависимостей (с красной точкой) и повторив их рекурсивно для каждой записи. К сожалению, это утомительное занятие.

Самый простой способ узнать, какие пакеты нужно установить, - это просто запустить команду sudo apt install PACKAGE и посмотреть на ее вывод. Или, если вы хотите быть в безопасности, пока ничего не происходит, и вы просто получаете информацию, вы можете только смоделировать установку:

apt -s install PACKAGE

Существует также apt depends PACKAGE для перечисления прямых зависимостей (и других отношений) пакетов , но если вы добавите --recurse и для получения косвенных зависимостей, список станет слишком длинным, чтобы его можно было прочитать, так как вдоль него отображаются тонны дубликатов и ненужных записей. --important немного помогает в этом, но не слишком сильно. Также имейте в виду, что обычно у вас уже установлены многие из этих зависимостей, потому что от этого зависит что-то другое, так что опять же это не скажет вам, что вам нужно установить дополнительно.

0
ответ дан 12 May 2019 в 19:59

Другие вопросы по тегам:

Похожие вопросы: