2017-01-20 4 views
7

В соответствии с этим answer вы можете импортировать pip из сценария Python и использовать его для установки модуля. Можно ли сделать это с помощью conda install?Использование conda для установки в скрипте python

В документации на conda показаны только примеры из командной строки, но я ищу код, который может быть выполнен из сценария Python.

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

+0

Почему бы вам не попробовать и сообщить об этом? :) – blacksite

+0

Сообщить о чем? – slaw

+0

вы всегда можете использовать подпроцесс –

ответ

6

Вы можете использовать conda.cli.main. Например, это устанавливает numpy:

import conda.cli 

conda.cli.main('conda', 'install', '-y', 'numpy') 

Используйте -y аргумент, чтобы избежать интерактивные вопросы:

-y, --yes Не запрашивать подтверждения.

+0

Спасибо! Это сделало трюк и было именно тем, что я искал. Я видел это в скрипте conda, но не мог расшифровать, как его использовать. Я передавал ему список, а не набор команд. – slaw

-2

Попробуйте это:

!conda install xyzpackage 

Пожалуйста, помните, что это должно быть сделано в рамках сценария Python не ОС быстрой.

Или же вы можете попробовать следующее:

импорт SYS из conda.cli импорта основного

sys.exit(main()) 

try: 
    import conda 
    from conda.cli import main 
    sys.argv = ['conda'] + list(args) 
    main() 
+0

Это кажется хакерским, поскольку он выполняет команду оболочки. Я бы хотел импортировать конду и вызвать ее эквивалентную функцию установки. – slaw

+0

http://stackoverflow.com/questions/19642326/conda-and-python-modules –

+0

Проверьте приведенную выше ссылку, которая дает информацию о модулях conda и python. Conda - это среда и утилита, доступная в ОС, а не внутри модуля python. Есть ли какой-либо конкретный пакет anaconda, который вы имеете в виду? –

Смежные вопросы