В чем разница между установкой пакета с использованием pip и apt-get? - PullRequest
26 голосов
/ 29 июля 2011

Я пытаюсь развернуть сайт Django на машине с Ubuntu.Мне нужно установить Psycopg2 и PIL, но мне кажется, что я могу установить их, используя apt-get или pip.Есть ли разница в установке двумя способами?Я знаю, что с помощью pip я могу установить его в виртуальной среде, но с помощью apt-get он устанавливается в глобальной среде python.

Ответы [ 5 ]

24 голосов
/ 29 июля 2011

Вы, наверное, уже знаете преимущества apt-get.Уведомления об автоматическом обновлении, другие установленные пакеты apt, которым нужны эти инструменты, знают, что они установлены, и т. Д.

С помощью pip вы знаете, что получаете самую последнюю версию в момент установки, вы можете установить ее вверсия Python не по умолчанию, и вы можете установить ее на virtualenv.

Если вам не нужны какие-либо функции, предоставляемые pip, и вам обычно не нужно устанавливать другие пакеты Python, которые не требуются.недоступно через APT, используйте версии APT.

10 голосов
/ 14 октября 2014

Большинство ответов на этот вопрос упускают одно из преимуществ, используя apt-get:

apt-get - это предварительно скомпилированный , который устанавливает намного быстрее , чем pip.

Чтобы установить numpy, matplotlib, pandas и другие модули, относящиеся к scipy, apt-get занимает всего несколько секунд;pip может легко потреблять 10 минут +.

Если у вас есть root-доступ и вы не возражаете против немного устаревших версий, apt-get - это быстрый и беззаботный способ.

4 голосов
/ 06 июля 2015

Вы должны знать, что то, что делает его в диспетчере пакетов, проходит некоторое интеграционное тестирование, в то время как то, что в Pypi, не проверено.

Pypi в порядке для разработки.

На производстве выможет пойти с Pypi, но вы скоро узнаете, что всегда можете положиться на то, что есть в менеджере пакетов ...

3 голосов
/ 31 июля 2011

Я всегда рекомендую устанавливать пакет Python с помощью pip, поскольку некоторые менеджеры пакетов ОС выполняют настройку пакетов, и это может либо нарушить, либо изменить поведение пакета.

Если вам нужно установить пакет глобально:

$ sudo pip install PACKAGE

И он попытается загрузить ваш пакет из PyPI или ссылок проекта.

0 голосов
/ 20 июня 2019

Какой из них следует использовать: apt-get и pip являются зрелыми менеджерами пакетов, которые автоматически устанавливают любые другие зависимости пакетов во время установки.Вы можете использовать любого, как вам нравится.Однако, если вам нужно установить определенную версию пакета python, или установить пакет в virtualenv, или установить пакет, который размещен только в PyPI;только пипс поможет вам решить эту проблему.В противном случае, если вы не возражаете против установки пакетов в общесистемном расположении, не имеет значения, используете ли вы apt-get или pip.

...