2011-07-29 4 views
22

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

ответ

18

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

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

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

3

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

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

$ sudo pip install PACKAGE 

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

6

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

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

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

Если у вас есть доступ к корням и не против устаревших версий, apt-get - это быстрый & беспроблемный путь.

+3

С приходом колеса, пип также бинарные пакеты. – gnebehay

+0

Казалось, не все пакеты имели доступные колеса, по крайней мере, для системы, в которой я был. Особенно математические пакеты, такие как numpy, pandas, matplotlib и т. Д. – laviex

2

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

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

В производстве, вы можете пойти с PyPi, но скоро вы узнаете, что вы всегда можете рассчитывать на то, что в менеджере пакетов ...