我有一个桌面快捷方式,其中有以下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
。
是否可以从 Linux 桌面快捷方式激活 conda 环境?
答案1
假设 conda 初始化行已经在文件中.bashrc
,则可以通过启动新的 bash 会话在激活的环境中运行命令:
Exec=bash -c "source ~/.bashrc && conda activate matlab_env && matlab"
答案2
我发现将文件顶部的内容从 改为 很有
#!/usr/bin/env python3
用
#!/home/jacob/anaconda3/envs/</bin/python3