chdoig/conda-auto-env

Issues finding existing conda env, caused by `environment.yml` line endings

Opened this issue · 0 comments

Thanks for this script! Had been working great for me with the exception of one repository. Entering via the terminal kicked off the correct creation of the environment. However, once created, the conda_auto_env script failed to find it. So it would again try to create it, but conda would warn that the env already exists. This cycle would continue.

Some digging lead pointed to the line endings of the environment.yml file. The problematic repository had windows-based line endings.

> cat -e environment.yml
name: SampleName^M$
dependencies:^M$
  - python=3.10^M$
  - pip=22.1^M$

Repositories that worked fine had unix endings:

> cat -e environment.yml
name: AnotherSampleName$
dependencies:$
  - python=3.9.5$
  - bokeh=2.3.2$

From my brief exploration, it appears this line:

if [[ $PATH != *$ENV* ]]; then
fails to handle DOS endings. Converting the line endings to UNIX, as described in SO resolved the issue for the problematic repository.