Skip to content

Instantly share code, notes, and snippets.

@maximlt
Last active September 14, 2024 12:08
Show Gist options
  • Save maximlt/531419545b039fa33f8845e5bc92edd6 to your computer and use it in GitHub Desktop.
Save maximlt/531419545b039fa33f8845e5bc92edd6 to your computer and use it in GitHub Desktop.
Run a Python script in a conda environment from a batch file
@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
@mdte123
Copy link

mdte123 commented Jul 19, 2024

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%

@AniccsSora
Copy link

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment