Каковы различия/общие черты между несколькими управление пакетом Python?

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

Вот мои вопросы:

  • Существует столько инструментов установки пакета когда дело доходит до Python: склонный - получают, побеждают, easy_install, conda и python3 версия тех. Кто-то мог объяснить, когда нужно использовать конкретные инструменты, и понятие тех инструментов сотрудничают? Я даже ценил бы его, если кто-то мог бы дать мне ссылку на статью, которая на самом деле проходит каждую из этих систем подробно, сравнивает их и выделяет различия между ними.
  • Установка и под управлением Python фаршировала бы анаконду использования, заботятся о головной боли использования нескольких инструментов пакета Python?
  • Если пакеты Python, что установки анаконды уже присутствуют в системе, как те два координируют, когда мы используем их?
1
задан 30 July 2016 в 08:24

2 ответа

Основное подобие между apt/apt-get, pip, easy_install и conda это, они - диспетчеры пакетов; существует больше различий между ними, чем существуют общие черты.

Давайте запустимся с легких вещей сначала. Никогда не используйте easy_install pip, и причины этого красноречиво объяснены в различном высоко upvoted ответы на https://stackoverflow.com/q/3220404/486919. Короче говоря, easy_install является устаревшим и pip должен всегда предпочитаться.

apt/apt-get

Вы используете apt или apt-get устанавливать в системе/глобальном уровне пакеты Ubuntu, включая тех для Python, найденного в репозиториях APT. Необходимо выполнить эту команду с sudo. В репозиториях Ubuntu названия пакетов Python 2 предварительно ожидаются с python в то время как это для Python 3 предварительно ожидается с python3, таким образом, ясно, какие пакеты необходимо установить в зависимости от того, какую версию интерпретатора Python Вы намереваетесь использовать. Некоторые примеры включают python-numpy и python3-numpy.

pip

pip обозначает "Пакеты Установок Зернышка" или "Установки Зернышка Python", который является рекурсивным акронимом. Как следует из названия Вы используете pip устанавливать пакеты Python только. В системе/глобальном уровне можно установить pip для использования Python 2 sudo apt install python-pip и для использования Python 3 sudo apt install python3-pip. В Ubuntu, pip install значения по умолчанию к pip install --user. То же происходит, если Вы заменяете pip с pip3. Это означает, что пакеты Python по умолчанию установлены на основе в расчете на пользователя а не в системе/глобальном уровне. Это - хорошая вещь, потому что нет никаких серьезных оснований сделать пакеты Python доступными для всех пользователей по умолчанию. Можно установить их глобально путем выполнения команды с sudo, но поскольку я объяснил в https://askubuntu.com/a/802594/15003, это - угроза безопасности и не должно быть сделано.

Лучший способ управлять зависимостями Python состоит в том, чтобы использовать виртуальные среды. Примером этого является virtualenv, который может быть установлен с помощью sudo apt install virtualenv. Я записал короткий ответ об этом в https://askubuntu.com/a/786625/15003, но существуют другие очень хорошие ответы на вопрос, о котором можно читать.

conda

conda диспетчер пакетов, который также позволяет Вам создавать виртуальные среды, таким образом, он несколько похож pip + virtualenv. Согласно https://stackoverflow.com/a/20994790/486919, conda может также "обработать зависимости библиотеки за пределами пакетов Python, а также самих пакетов Python". Я лично не использую Anaconda/Conda на своей машине Ubuntu с тех пор pip и virtualenv достаточно хороши для моих потребностей, но необходимо определенно проверить conda.

2
ответ дан 3 December 2019 в 06:57

Существует столько инструментов установки пакета когда дело доходит до Python: склонный - получают, побеждают, easy_install, conda и python3 версия тех. Кто-то мог объяснить, когда нужно использовать конкретные инструменты, и понятие тех инструментов сотрудничают? Я даже ценил бы его, если кто-то мог бы дать мне ссылку на статью, которая на самом деле проходит каждую из этих систем подробно, сравнивает их и выделяет различия между ними.

apt-get

Это не диспетчер пакетов Python, это - диспетчер пакетов для Ubuntu. Вы используете его для установки программного обеспечения Ubuntu.

Относительно того, почему это имеет пакеты Python в нем, пакеты Ubuntu большинство модулей Python как это: python-modulename или python3-modulename. Они Ubuntu модули Python устарели. Использовать pip (или pip3).

pip

Это - стандартный диспетчер пакетов Python. Когда в сомнении, используйте это.

conda

Это - диспетчер пакетов Python плюс менеджер по среде. Таким образом, это создает Вас изолированная, новая среда Python, позволяя Вам заморозить определенные модули в версии, не влияя на систему Python, и т.д.

Установка и под управлением Python фаршировала бы анаконду, заботятся о головной боли использования нескольких инструментов пакета Python?

Во-первых, это не головная боль. Просто

$ pip install modulename

(или pip3 для Python 3, с тех пор 2 и 3 являются чрезвычайно несовместимыми.)

Во-вторых, conda еще один диспетчер пакетов для Python, который имеет (я думаю), меньше пакетов, чем pip и только хорошо для замораживания определенных версий системных библиотек, модули Python и т.д.

Если пакеты Python, что установки анаконды уже присутствуют в системе, как те два координируют, когда мы используем их?

conda перезаписывает уже существующие пакеты.

2
ответ дан 3 December 2019 в 06:57

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

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