На высоком уровне apt
что-то поддерживается в вашей системе. В частности, что-либо в семье debian будет использовать apt
для управления такими вещами, как драйверы, компиляторы, вещи, требующие интеграции на более низком уровне.
Это означает, что для таких вещей, как numpy
и scipy
, которые требуют интеграции на системном уровне с библиотеками FORTRAN, в том числе зависимость pip
, на самом деле не будет работать.
Некоторые пакеты python, которые тесно связаны с зависимостями на системном уровне, поддерживают пакеты apt
, которые просто дают вам полный пакет сразу, без необходимости координировать между ними. Минус заключается в том, что, поскольку процесс обзора Canonical довольно дотошный (как и должно быть), вы получите 9/10 менее последнюю версию библиотеки, которую вы пытаетесь использовать.
Так, короче говоря: вы будете часто требуют apt
пакетов для того, чтобы более позднего pip
устанавливает и в то время как один и та же зависимость питона может быть доступна через apt
, эти библиотеки, как правило, гораздо старше, и, возможно, не требуются функциональность.
Общим решением является просто использовать системные зависимости из одного из этих пакетов, а не полного пакета. Вы можете сделать это, используя флаг build-deps
. Общий пример, приведенный ниже:
apt-get build-dep python-scipy
pip install scipy
Что будет на самом деле даст вам максимальную версию уточненный в SciPy во время работы в вашей virtualenv.
apt-get предназначен для системных зависимостей, pip предназначен для зависимостей python. –
Не спрашивали об этом, я спрашиваю о virtualenv (s) – dtgq
Почему в версии Debian так много зависимостей? Являются ли они взаимозаменяемыми? – dtgq