В чем разница между pip и conda?

Я знаю, что pip – это менеджер пакетов для пакетов python. Тем не менее, я увидел, что на веб-сайте IPython используется conda для установки IPython.

Могу ли я использовать pip для установки IPython? Почему я должен использовать conda качестве другого менеджера пакетов python, когда у меня уже есть pip ?

В чем разница между pip и conda ?

  • Boxplot: цвета по значению x и оттенки, дифференцированные по шаблону
  • ATOMIC_REQUEST и транзакции в Django 1.6
  • Каков официальный способ хранения настроек для программ python?
  • Как я могу отлаживать регулярное выражение в python?
  • bokeh, две оси y, отключить одну ось для масштабирования / панорамирования
  • Ускорение прекрасного
  • Вывод Python del
  • Чтение файла с использованием относительного пути в проекте python
  • 8 Solutions collect form web for “В чем разница между pip и conda?”

    Цитата из блога Conda :

    Будучи вовлеченным в мир python так долго, мы все знаем о pip, easy_install и virtualenv, но эти инструменты не отвечали всем нашим конкретным требованиям. Основная проблема заключается в том, что они ориентированы на Python, игнорируя зависимости библиотеки, отличные от Python, такие как HDF5, MKL, LLVM и т. Д., Которые не имеют setup.py в своем исходном коде, а также не устанавливают файлы на сайт Python -пакетами.

    Итак, Conda – это инструмент для упаковки и инсталлятор, который нацелен на то, чтобы делать больше, чем pip ; обрабатывать зависимости библиотек за пределами пакетов Python, а также сами пакеты Python. Conda также создает виртуальную среду, например virtualenv .

    Таким образом, Conda следует сравнить с Buildout, возможно, другим инструментом, который позволяет обрабатывать как задачи установки Python, так и не-Python.

    Поскольку Conda вводит новый формат упаковки, вы не можете использовать pip и Conda взаимозаменяемо; pip не может установить формат пакета Conda. Вы можете использовать два инструмента бок о бок, но они также не взаимодействуют.

    Вот краткое изложение:

    зернышко

    • Только пакеты Python.
    • Компилирует все из источника. EDIT: pip теперь устанавливает двоичные диски, если они доступны.
    • Благословленный основным сообществом Python (например, Python 3.4+ содержит код, который автоматически расширяет pipp).

    Конда

    • Атрибут Python. Основное внимание в существующих пакетах для Python, и, действительно, сама конда написана на Python, но вы также можете иметь пакеты conda для библиотек C, или R-пакетов, или действительно что-нибудь.
    • Устанавливает двоичные файлы. Существует инструмент под названием conda build который создает пакеты из исходного кода, но сама установка conda install устанавливает вещи из уже построенных пакетов conda.
    • Внешний. Конда – менеджер пакетов Anaconda, дистрибутив Python, предоставляемый Continuum Analytics, но он может использоваться и вне Anaconda. Вы можете использовать его с существующей установкой Python, установив ее, установив ее (хотя это не рекомендуется, если у вас нет веских оснований для использования существующей установки).

    В обоих случаях:

    • Написано на Python
    • Открытый исходный код (conda – BSD, а pip – MIT)

    Первые два пулевых пункта конды действительно делают это выгодным по сравнению с несколькими пакетами. Поскольку pip устанавливается из исходного кода, может быть очень сложно установить с ним вещи, если вы не можете скомпилировать исходный код (это особенно верно для Windows, но это может быть даже верно для Linux, если в пакетах есть некоторая сложная библиотека C или FORTRAN зависимостей). Conda устанавливается из двоичного кода, что означает, что кто-то (например, Continuum) уже выполнил сложную работу по составлению пакета, и поэтому установка проста.

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

    Другие ответы дают справедливое описание деталей, но я хочу выделить некоторые точки высокого уровня.

    pip – это менеджер пакетов, который облегчает установку, обновление и удаление пакетов python . Он также работает с виртуальными средами python .

    conda – это менеджер пакетов для любого программного обеспечения (установка, обновление и удаление). Он также работает с виртуальными средами.

    Одной из целей разработки конды является упрощение управления пакетами для всего пакета программного обеспечения, требуемого пользователями, одним из которых может быть небольшая часть одной или нескольких версий python. Это включает в себя низкоуровневые библиотеки, такие как линейная алгебра, компиляторы, такие как mingw на Windows, редакторы, инструменты управления версиями, такие как Hg и Git, или что-то еще, что требует распространения и управления .

    Для управления версиями pip позволяет вам переключаться между несколькими средами python и управлять ими.

    Conda позволяет вам переключаться между несколькими средами общего назначения, которые могут варьироваться в разных версиях, например, в C-библиотеках или компиляторах, а также в тестовых наборах или в системах баз данных и т. Д.

    Конда не ориентирована на Windows, но в Windows это превосходное решение, доступное в настоящее время, когда требуются компиляции сложных научных пакетов, которые необходимо установить и управлять.

    Я хочу плакать, когда я думаю о том, сколько времени я потерял, пытаясь скомпилировать многие из этих пакетов через pip в Windows или отлаживать неудачные сеансы pip install пакета, когда требуется компиляция.

    В конечном итоге Continuum Analytics также размещает (бесплатно) binstar.org (теперь называется repo.continuum.io ), чтобы позволить разработчикам обычных пакетов создавать свои собственные пользовательские (встроенные!) Стеки программ, которые их пользователи пакетов смогут получить conda install из.

    Чтобы не путать вас дальше, но вы также можете использовать pip в своей среде conda, которая проверяет общие комментарии менеджеров по сравнению с python выше.

     conda install -n testenv pip source activate testenv pip <pip command> 

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

    Для пользователей WINDOWS

    «Стандартная» ситуация с упаковочными инструментами в последнее время улучшается:

    • на самом pypi, теперь на долю колес приходится 48% колесных пакетов. 11-го 2015 года (по сравнению с 38% в мае 2015 года, 24% в 2014 году)

    • теперь формат колесика поддерживается на основе последнего python 2.7.9,

    Также улучшается ситуация с «стандартными» + «твиками»:

    • вы можете найти практически все научные пакеты в формате колес по адресу http://www.lfd.uci.edu/~gohlke/pythonlibs ,

    • проект mingwpy может принести однажды пакет «компиляции» пользователям Windows, позволяя при необходимости устанавливать все из источника.

    Упаковка «Конда» остается лучше для рынка, который она обслуживает, и выделяет области, где «стандарт» должен улучшаться.

    (также, многозадачность спецификации зависимостей, в стандартной системе колес и в системе conda или buildout, не очень pythonic, было бы неплохо, если бы все эти упаковочные «основные» методы могли сходиться через своего рода PEP)

    Цитата из статьи Конда для науки о науках на веб-сайте континуума:

    Конда против пипса

    Программисты Python, вероятно, знакомы с pip для загрузки пакетов из PyPI и управления их требованиями. Хотя, как conda, так и pip – менеджеры пакетов, они очень разные:

    • Пип специфичен для пакетов Python, а conda – агностик-язык, что означает, что мы можем использовать conda для управления пакетами из любого языка. Компиляторы Pip из исходных и конда устанавливают двоичные файлы, удаляя бремя компиляции
    • Конда создает языковые агностические среды, в то время как pip полагается на virtualenv для управления только средами Python. Хотя рекомендуется всегда использовать пакеты conda, conda также включает в себя pip, поэтому вам не нужно выбирать между ними. Например, чтобы установить пакет python, который не имеет пакета conda, но доступен через pip, просто запустите, например:
     conda install pip pip install gensim 

    Цитата из Конды: мифы и заблуждения (подробное описание):

    Миф № 3: Конда и пип – прямые конкуренты

    Реальность: Conda и pip служат в разных целях и только непосредственно конкурируют в небольшом подмножестве задач: а именно, установке пакетов Python в изолированных средах.

    Пип, который означает P ip I nstalls P ackages, является официально утвержденным менеджером пакетов Python и наиболее часто используется для установки пакетов, опубликованных в Индексе пакетов Python (PyPI). Оба пипа и PyPI управляются и поддерживаются Python Packaging Authority (PyPA).

    Короче говоря, pip является универсальным менеджером для пакетов Python; conda – это языковой межплатформенный менеджер среды. Для пользователя наиболее существенное различие, вероятно, таково: pip устанавливает пакеты python в любой среде; conda устанавливает любой пакет в среде conda. Если все, что вы делаете, это установка пакетов Python в изолированной среде, conda и pip + virtualenv в большинстве случаев взаимозаменяемы, по сравнению с некоторыми различиями в обработке зависимостей и доступности пакетов. В изолированной среде я подразумеваю conda-env или virtualenv, в котором вы можете устанавливать пакеты без изменения вашей системы Python.

    Даже если оставить в стороне Миф №2, если мы сосредоточимся на просто установке пакетов Python, conda и pip будут обслуживать разные аудитории и разные цели. Если вы хотите, скажем, управлять пакетами Python в существующей системе Python, Conda не может вам помочь: по дизайну он может устанавливать пакеты только в среде conda. Если вы хотите, скажем, работать со многими пакетами Python, которые полагаются на внешние зависимости (NumPy, SciPy и Matplotlib являются общими примерами), при этом отслеживая эти зависимости значимым образом, pip не может вам помочь: по дизайну управляет пакетами Python и только пакетами Python.

    Конда и пип не являются конкурентами, а скорее инструментами, ориентированными на разные группы пользователей и шаблоны использования.

    Могу ли я использовать pip для установки iPython?

    Конечно, оба (первый подход на странице)

     pip install ipython 

    и (третий подход, второй – conda )

    Вы можете вручную загрузить IPython из GitHub или PyPI. Чтобы установить одну из этих версий, распакуйте ее и выполните следующее из исходного каталога верхнего уровня с помощью терминала:

     pip install . 

    официально рекомендуемые способы установки .

    Почему я должен использовать conda в качестве другого менеджера пакетов python, когда у меня уже есть пипс?

    Как сказано здесь :

    Если вам нужен конкретный пакет, возможно, только для одного проекта, или если вам нужно поделиться проектом с кем-то другим, conda кажется более подходящим.

    Конда превосходит пип ( YMMV )

    • проекты, которые используют инструменты, отличные от python
    • совместное использование с коллегами
    • переключение между версиями
    • переключение между проектами с разными версиями библиотек

    В чем разница между pip и conda?

    На это все отвечают все остальные.

    Python - лучший язык программирования в мире.