Я пытаюсь написать bash скрипт, который включает в себя деактивацию и удаление среды conda. Вот пример: remove_env.sh
:
#!/bin/bash
# Get the conda command available in bash
eval "$(conda shell.bash hook)"
# Deactivate environment
conda deactivate
# Remove environment
conda remove --name my_env --all --yes
Среда должна быть деактивирована, чтобы удалить ее.
К сожалению, это не работает. Я выполняю это в терминале:
$ conda activate my_env
$ ./remove_env.sh
CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again
Я думаю, что проблема связана с разветвлением - по сути, среда деактивируется в одном процессе, но затем выполняется вызов remove другой процесс, в котором не отключена среда. Но я не совсем уверен.
Некоторые примечания:
- Я не могу использовать
source remove_env.sh
- я должен быть в состоянии использовать ./remove_env.sh
- Я пытался это безуспешно:
#!/bin/bash
# Get the conda command available in bash
eval "$(conda shell.bash hook)"
# Deactivate and remove environment
conda deactivate && conda remove --name my_env --all --yes
- Я вызываю команду
conda activate my_env
в моем ~./bashrc
- Я не могу использовать псевдонимы - это должен быть bash скрипт