Как установить пакеты PyPi с помощью команды anacaonda conda

При использовании дистрибутива Anacoda Python лучший способ установить пакет PyPi, который недоступен непосредственно через Anaconda? Пока я использую:

conda pipbuild [pypi_name]
conda install --use-local [package_spec]

Но я не понимаю, является ли это лучшим способом, и если conda update --all обновит эти пакеты, когда обновления станут доступными. Я также не понимаю, что такое точка binstar, когда PyPi уже существует.

Ответ 1

Если вы хотите создавать пакеты conda для пакетов PyPI, рекомендуется использовать conda skeleton pypi package и использовать conda build package в рецепте, который он создает. Вам нужно будет обновлять рецепт каждый раз, когда пакет обновляется.

Вы также можете использовать pip для установки этих пакетов. Недостатком здесь является то, что эти пакеты вообще не будут управляться кондой.

Ответ 2

Я не соглашусь с принятым ответом и заметьте, что pip install [some-pypi-package] часто является лучшим способом установки пакетов PyPi в средах Conda.

В то время как пакеты не будут управляться менеджером пакетов Conda, они все равно будут управляться средой Anaconda. Он загрузит правильную версию пакета для активной установки Python и правильно ее обновит, используя диспетчер пакетов pip.

При использовании Anaconda вы должны перейти в conda до pip, если сможете, но вы не потеряете возможности реплицируемости использования Anaconda при использовании pip.

Ответ 3

Начиная с версии 4.6.0, Conda улучшила свою совместимость с pip:

Конда и Пип исторически испытывали трудности в отношениях. зернышко не соблюдает ограничения среды Кондас, в то время как Конда была Слишком счастлив, чтобы забить установленное программное обеспечение. Это беспорядок. Конда 4.6.0 добавляет поддержку предварительного просмотра для лучшей совместимости. Благодаря такой совместимости Conda может использовать установленные с помощью pip пакеты для зависимости, и может даже удалить программное обеспечение, установленное pip, и при необходимости замените их пакетами Conda. Theres все еще комната для улучшения, прежде чем Пип и Конда являются фанатичными подругами, но мы надеемся Это хорошее начало. Эта функция по умолчанию отключена потому что это может значительно повлиять на производительность Condas. Если хочешь чтобы попробовать это, вы можете установить этот параметр condarc:

conda config --set pip_interop_enabled True

Итак, способ получить пакеты PyPI в conda (на момент написания этой статьи) выглядит следующим образом:

pip install <package>

Если вы хотите, чтобы conda заменила пакеты PyPI своими собственными (где это возможно), просто запустите:

conda update --all

Учитывая, что вышеуказанная настройка выполнена. Conda отмечает свои собственные каналы как более приоритетные, чем pip, поэтому пакеты будут заменены.