Я пытаюсь развернуть сайт Django на машине Ubuntu. Мне нужно установить Psycopg2 и PIL, но кажется, что я могу установить их, используя apt-get или using pip. Есть ли разница в установке этими двумя методами? Я знаю, что с помощью pip я могу установить его в виртуальную среду, но с apt-get install в глобальной среде python.В чем разница между установкой пакета с помощью pip vs. apt-get?
ответ
Возможно, вы уже знаете преимущества apt-get. Автоматические уведомления об обновлениях, другие apt-установленные пакеты, которые нуждаются в этих инструментах, знают, что они установлены, и т. Д.
С пипсом вы знаете, что получаете последнюю версию в момент ее установки, -default версии Python, и вы можете установить ее на virtualenv.
Если вам не нужны какие-либо функции, которые вам дает, вам не придется устанавливать другие пакеты Python, которые недоступны в APT, используйте версии APT.
Я всегда рекомендую установить пакет Python с помощью pip, потому что некоторые менеджеры пакетов ОС выполняют настройки пакетов и могут либо сломать, либо изменить поведение пакета.
Если вам необходимо установить пакет глобально:
$ sudo pip install PACKAGE
И он будет пытаться загрузить пакет из PyPI или проекта ссылки.
Большинство ответов на этот вопрос пропустить один из преимуществ, используя apt-get
:
apt-get
является прекомпилируются, который устанавливает много быстрее, чемpip
.
Для установки numpy, matplotlib, pandas и других связанных с scipy модулей, apt-get
занимает всего несколько секунд; pip
может легко потреблять 10мин +.
Если у вас есть доступ к корням и не против устаревших версий, apt-get
- это быстрый & беспроблемный путь.
Вы должны знать, что то, что делает его в диспетчере пакетов, подвергается некоторому интеграционному тестированию, а то, что находится в Pypi, не проверено.
Pypi в порядке для разработки.
В производстве, вы можете пойти с PyPi, но скоро вы узнаете, что вы всегда можете рассчитывать на то, что в менеджере пакетов ...
С приходом колеса, пип также бинарные пакеты. – gnebehay
Казалось, не все пакеты имели доступные колеса, по крайней мере, для системы, в которой я был. Особенно математические пакеты, такие как numpy, pandas, matplotlib и т. Д. – laviex