2017-01-20 9 views
7

Entsprechend answer können Sie pip aus einem Python-Skript importieren und es verwenden, um ein Modul zu installieren. Ist es möglich, dies mit conda install zu tun?Verwendung von conda innerhalb eines Python-Skripts

Die Conda-Dokumentation zeigt nur Beispiele aus der Befehlszeile, aber ich suche nach Code, der innerhalb eines Python-Skripts ausgeführt werden kann.

Ja, ich könnte Shell-Befehle innerhalb des Skripts ausführen, aber ich versuche, dies zu vermeiden, da es grundsätzlich davon ausgeht, dass Conda nicht importiert werden kann und seine Funktionen aufgerufen werden.

+0

Warum versuchen Sie nicht und melden Sie zurück? :) – blacksite

+0

Bericht was zurück? – slaw

+0

Sie können immer Unterprozess verwenden –

Antwort

6

Sie conda.cli.main verwenden können. Zum Beispiel, installiert diese numpy:

import conda.cli 

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

das -y Argument verwenden, um interaktive Fragen zu vermeiden:

-y, --yes Sie zur Bestätigung nicht fragen.

+0

Danke! Dies war der Trick und genau das, wonach ich suchte. Ich hatte das im conda-Skript selbst gesehen, konnte aber nicht entziffern, wie man es benutzt. Ich übergab eine Liste, anstatt eine Reihe von Befehlen. – slaw

-2

Try this:

!conda install xyzpackage 

Bitte beachten Sie dies nicht die OS-Eingabeaufforderung innerhalb des Python-Skript zu tun ist.

sonst könnten Sie folgendes versuchen:

import sys von conda.cli Import Haupt

sys.exit(main()) 

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

Dies scheint hackisch zu sein, da es einen Shell-Befehl ausführt. Ich möchte Conda importieren und die entsprechende Installationsfunktion aufrufen. – slaw

+0

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

+0

Überprüfen Sie den obigen Link out, der Informationen über Conda und Python-Module gibt. Conda ist eine Umgebung und ein Dienstprogramm, das im Betriebssystem und nicht im Python-Modul verfügbar ist. Gibt es ein bestimmtes Anaconda-Paket, das Sie im Sinn haben? –

Verwandte Themen