2014-07-10 239 views
10

我正在通過BAT文件和Windows任務計劃程序調用python(Anaconda發行版)。Conda環境和.BAT文件

我現在用的第一次環境,並試圖如下設置.bat文件了:

activate [my_env] 
python my_script.py 
deactivate 

不幸的是,出現了第二個命令沒有得到執行。

回答

2

你確定你需要一個批處理文件嗎?我認爲這應該工作。

cmd "/c activate [my_env] && python my_script.py && deactivate" 

當我由含

print("Hello") 

一個簡單的文件我把它叫做myprint.py跑

cmd "/c activate anaconda33 && python myprint.py && deactivate" 

這爲我工作。你也可以把它放在一行的批處理文件中。

+0

這並沒有工作,但要求在ENV目錄蟒蛇似乎做這樣'C的工作:\蟒蛇\ ENVS \ linkdex_py27 \ python.exe script.python' – Hans

+1

有無你將anaconda二進制目錄添加到PATH環境變量中? – BKay

+0

是的,我有。我再次測試了上面的內容,注意到它對我有用,如果我將script.py行修改爲完全限定的路徑 - 即使它在我開始工作的目錄中。 – Hans

0

所有的activate都會把環境放在PATH的前面。您可以在所需環境中調用python的絕對路徑,如C:\Anaconda\python my-script.py

+0

這是真的,但你應該很小心這一點,因爲activate.bat也可能會將重要的DLL放在PATH上。 – msarahan

+0

這甚至適用於用戶安裝的入口點和腳本 - 它們將在環境的Python解釋器上運行並使用它的「站點包」等。 – j08lue