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

Virtual environment libraries do not update in Jupyter notebook?

所以我有一个使用 Anaconda 创建的虚拟环境,并且我还将它安装到 Jupyter notebook 中,如 this link 所述:

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

然而,每当我在 my_env_name 上安装新的东西时,它在笔记本中不起作用。例如,我刚刚做了以下操作:

>>> pip install boto3 
>>> import boto3 

这在 anaconda 提示符下有效。

但是,如果我尝试在笔记本中执行 import boto3,我只会得到:

ModuleNotFoundError: No module named '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

您可能需要使用

在所需环境中安装内核
python3 -m ipykernel install --user 

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


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

第一步:检查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"
}