Используйте pip или conda для управления пакетами?

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

Я действительно хочу знать разницу между pip и conda, и что произойдет, если я буду использовать pip для установки пакетов вместо conda?

Ответ 1

Надеюсь, что кто-то более осведомленный может расширяться, но похоже, что Conda - это инструмент для развертывания, не совместимый с PIP, как для инструментов Python, так и для не-python. Conda обрабатывает свою собственную виртуальную установку Python и пакетов, а также не-python-зависимостей.

PIP, с другой стороны, представляет собой специфическую для Python утилиту развертывания; он не знает о Конде, и Конда не знает о PIP.

Зная вышеизложенное, было бы разумно, что Conda не будет знать о ваших ранее развернутых пакетах PIP, поскольку эти два несовместимы.

К счастью, поскольку две системы отделены друг от друга, вы должны восстановить свою среду PIP, если решите, что Conda не стоит переключать. В противном случае вы можете попробовать установить Matlib на Conda, чтобы имитировать то, что вы установили в PIP:

conda install -c https://conda.anaconda.org/ioos matlab_kernel

Дополнительная информация:

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

https://conda.anaconda.org/menpo/channel/matlab

Ответ 2

pip и conda имеют общие точки и различия. Трудно объяснить, чем это сделал Джейк ВандерПлас: https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/

Для вашего удобства, было бы лучше всего стереть ваши предыдущие пакеты с установленными пакетами и полагаться только на conda. Если это невозможно из-за отсутствия пакетов в conda, вы можете установить pip в conda, а затем использовать conda install pip. (по ссылке выше).

Ответ 3

Я действительно хочу знать разницу между pip и conda

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

и что произойдет, если я использую pip для установки пакетов вместо conda?

Пип вообще (кроме использования virtualenv) устанавливает пакеты либо для всей системы (как root/возможно, как Administrator), так и для пользователя. Конда устанавливает пакеты в свой собственный маленький мир/каталог, где их нужно активировать, переопределяя пакеты пакетов, как вы уже отметили.

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

Поэтому используйте системный пакет, если это все, что вам нужно. Если это слишком старый f.ex., вы можете использовать установку pip.

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