У меня есть ярлык на рабочем столе со следующей строкой Exec
:
Exec=conda activate my_env && my_command
Однако этот ярлык не запускается. Чтобы попытаться отладить это, я выполнил ту же команду в командной строке bash без .bashrc
(так как .bashrc
не используется для ярлыков на рабочем столе),
user@pc:~$ bash --norc
bash-4.4$ conda activate my_env
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
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 не обнаруживает, что он уже был инициализирован. conda init
создает запись в .bashrc
:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/user/anaconda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/user/anaconda/etc/profile.d/conda.sh" ]; then
. "/home/user/anaconda/etc/profile.d/conda.sh"
else
export PATH="/home/user/anaconda/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
Я попытался скопировать эту запись в свой .profile
и снова вошел в систему, но это все равно не удалось Работа. Попытка вместо этого conda init
внутри .profile
просто дублирует указанную выше запись в .bashrc
.
Можно ли активировать среду conda с ярлыка на рабочем столе Linux?
Предполагая, что строки инициализации conda уже находятся в файле .bashrc
, можно запустить команду в активированной среде, запустив новый сеанс bash. :
Exec=bash -c "source ~/.bashrc && conda activate matlab_env && matlab"
Я счел полезным просто изменить шебанг в верхней части файла с
#!/usr/bin/env python3
Кому
#!/home/jacob/anaconda3/envs/