由于某种原因,我的虚拟机上的 jupyter 笔记本处于错误的环境中(即陷入
(base)
)。此外,我可以更改终端中的环境,但不能更改笔记本中的环境。这是当我在笔记本中尝试 !conda activate desired_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 environments:
#
base * /anaconda
azureml_py36 /anaconda/envs/azureml_py36
azureml_py38 /anaconda/envs/azureml_py38
azureml_py38_pytorch /anaconda/envs/azureml_py38_pytorch
azureml_py38_tensorflow /anaconda/envs/azureml_py38_tensorflow
我尝试了答案here(例如,第一次运行
!source /anaconda/etc/profile.d/conda.sh
)。
我还尝试使用
source
而不是“conda activate”来激活环境:!source /anaconda/envs/desired_env/bin/activate
。当我在 conda env list
中看到当前环境时,它会运行,但实际上并没有执行任何操作
编辑:还补充说,如果我在终端的
(base)
环境中安装包,我仍然无法在jupyter笔记本中访问它。
我是发布 AzureML Notebooks 的 PM,您无法从单元激活 Conda env,您必须为 Conda Env 创建一个新内核。以下是说明:https://learn.microsoft.com/en-us/azure/machine-learning/how-to-access-terminal#add-new-kernels
另外根据官方文件,需要注意的一件重要事情是:
管理包裹
由于您的计算实例有多个内核,因此 确保使用 %pip 或 %conda 魔法函数,将包安装到 当前运行的内核。
不要使用 !pip 或 !conda,它们指的是 到所有包(包括当前运行的包之外的包) 内核)。