Reputation: 2910
I am setting up calls to python (Anaconda distribution) via BAT files and the windows task scheduler.
I've now used environments for the first time and was trying to set a .bat
file up as below:
activate [my_env]
python my_script.py
deactivate
Unfortunately it appears that the second command does not get executed.
Upvotes: 77
Views: 96165
Reputation: 1604
Use the 'call' command when activating/deactivating the environment.
call activate [my_env]
python my_script.py
call conda deactivate
See https://github.com/conda/conda/issues/794
Upvotes: 147
Reputation: 91450
All activate does is put the environment in the front of the PATH. You can just call the absolute path to the python
in the environment you want, like C:\Anaconda\python my-script.py
.
Upvotes: 2
Reputation: 1457
Are you sure you need a batch file? I think this should work.
cmd "/c activate [my_env] && python my_script.py && deactivate"
When I made a simple file containing
print("Hello")
Which I called myprint.py and ran
cmd "/c activate anaconda33 && python myprint.py && deactivate"
This worked for me. You could also put this in a one line batch file.
Upvotes: 2