Pre*_*ude 9 command-line bash conda anaconda
我正在尝试编写一个名为myscrpt.sh的脚本,因此当我运行它时,它会自动创建一个虚拟环境并使用conda激活它。我的 conda 版本是 4.7.1。
这是我在myscrpt.sh开头的内容:
#!/bin/bash
conda create --name myenv1
conda activate myenv1
Run Code Online (Sandbox Code Playgroud)
创建环境不是问题,但是我收到错误:
Run Code Online (Sandbox Code Playgroud)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 activate myenv1直接在终端中运行,则不会出现此错误。
到目前为止,我已经采取了一些措施,例如使用conda init <SHELL_NAME>它根本没有帮助。然后我在我的 bashrc 中添加了以下内容
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/<user>/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/<user>/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/<user>/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/<user>/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
Run Code Online (Sandbox Code Playgroud)
这也不起作用。接下来并根据此链接将 PATH 行中的路径更改为:
. /opt/conda/etc/profile.d/conda.sh
conda activate base
Run Code Online (Sandbox Code Playgroud)
这个是为 conda 4.4 编写的,但我希望能帮助我。
然后我尝试conda run代替conda activate,但这也没有帮助。
那么任何想法我怎样才能让它工作?:)
UPDATE1:现在我使用source ./myscript.sh,并且激活工作正常,但在conda install.
在Ubuntu Focal上,这是唯一对我有用的方法。
假设您的 envs 安装在~/miniconda3目录中。
source ~/miniconda3/etc/profile.d/conda.sh
conda activate myenv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19247 次 |
| 最近记录: |