Не смешивайте 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. Теперь сама Конда с открытым исходным кодом, пакеты - не так много.