После предложения пользователя я пересматриваю вопрос, чтобы более узко сосредоточиться на вопросе «почему я не могу запускать команды conda из сценария оболочки».
Моя среда conda по умолчанию называется "py37". Shell запускается, я могу деактивировать:
(py37) pauljohn@delllap-16:Desktop$ conda deactivate
pauljohn@delllap-16:Desktop$
Я хочу создать сценарий оболочки с коротким именем, чтобы выполнить ту же работу. Я пробовал несколько вариантов, например, файл с именем "noconda.sh":
$ cat noconda.sh
#!/bin/bash
eval "conda deactivate"
Это ошибка, ясно:
pauljohn@delllap-16:bin$ noconda.sh
CommandNotFoundError: Your shell has not been properly configured to use 'conda deactivate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
Я считаю, что многие другие проекты, которые я использую, работают неправильно, если включены функции conda.
Вы можете спросить, что у меня в .bashrc
:
# added by Anaconda3 2018.12 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/home/pauljohn/LinuxDownloads/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "/home/pauljohn/LinuxDownloads/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/pauljohn/LinuxDownloads/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="/home/pauljohn/LinuxDownloads/anaconda3/bin/:$PATH"
fi
fi
unset __conda_setup
# <<< conda init <<<
# help with conda bug accessing gsettings:
# https://github.com/conda-forge/glib-feedstock/issues/19
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
conda deactivate
conda activate py37