所以我有一个用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
答案 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"
}