2014-08-28 5 views
7

Ich muss Jenkins Build mit einer bestimmten Conda-Umgebung auf unserem Jenkins-Server laufen (unter Windows). Ich dachte, es wäre so einfach wie das Laufen:Wie aktiviert man Conda-Umgebung in Jenkins Build

aber dies scheint dazu zu führen, dass der Build stattdessen beendet wird, bevor das Skript überhaupt startet. Hier ist das jenkins Konsolenprotokoll:

activate myenv 
Activating environment "myenv"... 
Finished: SUCCESS 

Wenn ich die activate Linie zu entfernen, der Python-Skript führt in Ordnung.

FYI, das Skript Ich verwende:

import os 

f = open('env.txt','w') 

for k, v in os.environ.iteritems(): 
    print k, v 
    f.write('%s\t%s\n' % (k,v)) 
f.close() 

Weiß jemand, was los ist? Soll ich stattdessen direkt die ausführbare Python-Datei aufrufen?

Antwort

2

Ich glaube, das Skript aktiviert unter Windows startet eine neue Subshell, was bedeutet, dass die aktuelle Shell sofort existiert. Können Sie versuchen, die ENV-Variablen wie PATH und dergleichen manuell zu setzen, statt sie zu aktivieren?

+1

Hallo Bradley, Ja, ich habe dabei zu tun, grundsätzlich die Ordner myenv/bin und myenv/Scripts zu PATH vor. Ich habe die Frage gestellt, weil ich nicht weiß, was sonst "aktivieren" tut ... wird das genug sein? – Jahfet

Verwandte Themen