Last active
September 14, 2024 12:08
-
-
Save maximlt/531419545b039fa33f8845e5bc92edd6 to your computer and use it in GitHub Desktop.
Run a Python script in a conda environment from a batch file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo OFF | |
rem How to run a Python script in a given conda environment from a batch file. | |
rem It doesn't require: | |
rem - conda to be in the PATH | |
rem - cmd.exe to be initialized with conda init | |
rem Define here the path to your conda installation | |
set CONDAPATH=C:\ProgramData\Miniconda3 | |
rem Define here the name of the environment | |
set ENVNAME=someenv | |
rem The following command activates the base environment. | |
rem call C:\ProgramData\Miniconda3\Scripts\activate.bat C:\ProgramData\Miniconda3 | |
if %ENVNAME%==base (set ENVPATH=%CONDAPATH%) else (set ENVPATH=%CONDAPATH%\envs\%ENVNAME%) | |
rem Activate the conda environment | |
rem Using call is required here, see: https://stackoverflow.com/questions/24678144/conda-environments-and-bat-files | |
call %CONDAPATH%\Scripts\activate.bat %ENVPATH% | |
rem Run a python script in that environment | |
python script.py | |
rem Deactivate the environment | |
call conda deactivate | |
rem If conda is directly available from the command line then the following code works. | |
rem call activate someenv | |
rem python script.py | |
rem conda deactivate | |
rem One could also use the conda run command | |
rem conda run -n someenv python script.py |
Thanks for this, for some strange reason I had to change this line:
call %CONDAPATH%\Scripts\activate.bat %ENVPATH%
to:
call %CONDAPATH%\Scripts\activate.bat %ENVNAME%
Thanks!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks. The "call" part is what I was missing. Appreciate it!