2017-01-20 45 views
7

Zgodnie z tym answer można importować pip z poziomu skryptu Python i używać go do instalacji modułu. Czy można to zrobić z conda install?Używanie conda w skrypcie Pythona

Dokumentacja conda pokazuje tylko przykłady z wiersza poleceń, ale szukam kodu, który można wykonać z poziomu skryptu Python.

Tak, mógłbym wykonywać polecenia powłoki z poziomu skryptu, ale staram się tego uniknąć, ponieważ zasadniczo zakłada się, że conda nie może być zaimportowany i jego funkcje są wywoływane.

+0

Dlaczego nie spróbować złożyć raportu? :) – blacksite

+0

Zgłoś, co z powrotem? – slaw

+0

zawsze możesz użyć podprocesu –

Odpowiedz

6

Można wykorzystać conda.cli.main. Na przykład ten instaluje numpy:

import conda.cli 

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

Użyj -y argument uniknąć interaktywne pytania:

-y, --yes Nie pytaj o potwierdzenie.

+0

Dzięki! Zrobiło to sztuczkę i było dokładnie tym, czego szukałem. Widziałem to w samym skrypcie, ale nie potrafiłem go rozszyfrować. Przesyłałem do niej listę, a nie zestaw poleceń. – slaw

-2

Spróbuj tego:

!conda install xyzpackage 

Proszę pamiętać, to musi być zrobione w skrypcie Pythona nie wierszu OS.

Albo można spróbować wykonać następujące czynności:

przywozowych sys z conda.cli importu głównej

sys.exit(main()) 

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

To wydaje się hackish, ponieważ wykonuje polecenie powłoki. Chciałbym zaimportować conda i zadzwonić do jego równoważnej funkcji instalacji. – slaw

+0

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

+0

Sprawdź powyższy link, który zawiera informacje na temat modułów conda i python. Conda to środowisko i narzędzie, które jest dostępne w systemie operacyjnym, a nie w module Pythona. Czy masz jakieś konkretne pakiety anakond, które masz na myśli? –