虚拟环境库不会在Jupyter Notebook中更新吗?

时间:2020-08-27 16:08:17

标签: python jupyter-notebook anaconda

所以我有一个用Anaconda创建的虚拟环境,并且我已经将它安装到Jupyter笔记本中,如this链接所述:

python -m ipykernel install --user --name=<my_env_name>

但是,每当我在my_env_name上安装新东西时,它在笔记本电脑中都无法工作。例如,我只是做了以下事情:

>>> pip install boto3 
>>> import boto3 

这在anaconda提示符下起作用。

但是,如果我尝试在笔记本上进行import boto3,我会得到:

ModuleNotFoundError:没有名为“ boto3”的模块

为什么库没有同步?实际上,我也再次运行了ipykernel命令,看是否能解决该问题,但是没有。如果我在笔记本中运行!pip install boto3,我只会得到一堆“已经满足要求”。造成此问题的原因可能是什么?

编辑:

在检查sys.executable时,我得到了:

C:\ Users \ MyUser \ AppData \ Local \ Continuum \ anaconda3 \ python.exe

但是我可能应该得到这个,对吗?

C:\ Users \ MyUser \ AppData \ Local \ Continuum \ anaconda3 \ envs \ my_env_name \ python.exe

1 个答案:

答案 0 :(得分:2)

您可能需要使用以下命令在所需的环境中安装内核

python3 -m ipykernel install --user 

,然后在此环境中安装所需的库。只要确保ipykernel

中已安装virtualenv

如果上述解决方案不起作用,则可以尝试以下给出的步骤

步骤1:检查anaconda环境的正确可执行路径。 进入命令行,激活conda环境,然后检查环境的正确可执行路径。

conda activate {envronment name}

然后在python控制台上

import sys
sys.executable

例如在Linux上将是

/media/{username}/{path-to}/anaconda3/envs/{environment name}/bin/python

步骤2:更正jupyter会话的可执行路径 在命令行中,使用以下命令检查您的conda环境的kernel.json所在的路径

jupyter kernelspec list

例如在Linux上将是:

/home/{username}/.local/share/jupyter/kernels/{environment name}

打开位于该文件夹中的kernel.json并替换不正确的可执行文件路径,如下所示。

{
 "argv": [
  "REPLACE-THIS-WITH-THE-CORRECT-EXECUTABLE-PATH",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "heterodimers",
 "language": "python"
}