Это плохая идея использовать conda и pip install в одной среде? - PullRequest
1 голос
/ 14 мая 2019

Мне здесь любопытно.

Поскольку conda install и pip install во многих случаях делают одно и то же, какой из них будет лучшим? Есть ли случай, когда кто-то должен придерживаться только pip install? Симметричный, есть ли случай, когда нужно придерживаться только установки conda? Есть ли способ выстрелить в ногу, используя установку conda и pip в одной среде?

Обновление: , если оба подхода по сути одинаковы и не противоречат друг другу, не должно быть оснований придерживаться только одного из них, но не другого.

Ответы [ 3 ]

2 голосов
/ 14 мая 2019

Зависит от сложности вашей среды действительно. Использование pip для нескольких простых пакетов не должно вызывать проблем. Использование большего количества установок pip поднимает вопрос «Почему бы тогда не использовать pip venv?»

Если вы не занимаетесь чем-то серьезным, возможно, у вас есть возможность установить pip и conda

Существует обширное объяснение, почему их смешивание может быть плохой идеей https://www.anaconda.com/using-pip-in-a-conda-environment/

0 голосов
/ 15 мая 2019

Не смешивайте conda install и pip install в среде conda. Возможно, решите использовать conda или virtualenv+pip раз и навсегда. И вот как вы решаете, какой из них подходит вам лучше всего:

  • Conda устанавливает различные (не только python) принятые conda пакеты в среде conda. Если вы находитесь в окружении, то все в порядке.
  • Pip устанавливает пакеты Python в среде Python (одним из них является virtualenv). Он устанавливает ваши пакеты Python правильно.

Безопасный способ использования conda: не спешите за последними новостями и придерживайтесь доступных пакетов, и все будет в порядке.

Безопасный способ использования pip + virtualenv: , если вы видите проблему с зависимостями или хотите удалить и очистить после пакета - не делайте. Просто сожги дом, оставь прежнюю среду и создай новую. Одна командная строка и через 2-5 минут все снова будет хорошо и аккуратно.

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

Conda - лучшая , когда речь идет об управлении зависимостями и репликацией сред. При удалении пакета conda может правильно очистить после себя и лучше контролировать конфликтующие версии зависимостей. Кроме того, conda может экспортировать конфигурацию среды и, если планеты находятся в настоящий момент и новая машина не слишком отличается, копировать эту среду где-то еще. Кроме того, conda может иметь больший контроль над средой и может, например, иметь другую версию python, установленную внутри нее (virtualenv - только python, доступный в системе). Вы всегда можете создать пакет conda , если у вас нет свободы выбора, что использовать.

Некоторые важные факты:

  • Конде требуется больше места и времени для настройки
  • Конда может быть лучше, если у вас нет прав администратора в системе
  • Конда поможет, когда у тебя нет системного питона
  • virtualenv + pip освободит вас от знания множества подобных деталей

Некоторые устаревшие понятия:

  • Раньше Conda была лучше для начинающих разработчиков (2012). Больше нет разрыва в удобстве использования
  • Конда был слишком связан с Continuum Analytics. Теперь сама Конда с открытым исходным кодом, пакеты - не так много.
0 голосов
/ 14 мая 2019

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

...