在jupyter实验室中找不到“模块”,但在“ jupyter笔记本”中可以正常工作

时间:2019-03-04 09:11:09

标签: jupyter-notebook jupyter-lab

我使用conda python环境。我按照以下步骤启动Jupyter实验室:

$conda activate <env_name>
$jupyter lab --no-browser --port=8080 &

现在,从Jupyter实验室笔记本中,当我尝试导入羽毛(导入羽毛)时,它失败,并显示“找不到模块”消息。

在jupyter实验室笔记本中,如果执行以下命令,则表明存在羽毛:

! conda list | grep feather

现在,如果我在同一虚拟机中关闭Jupyter Lab并启动Jupyter Notebook,则羽毛将成功从笔记本中导入。

$conda activate <env_name>
$jupyter-notebook --no-browser --port=8080 &

我看到了this的讨论,但那里没有解决方案。

2 个答案:

答案 0 :(得分:2)

或者,从Jupyter笔记本内还是在命令行上检查路径。我发现将模块路径附加到sys.path可以解决此确切问题。

在我的情况下,所有〜/ anaconda3 / envs / [env] /lib/python3.7*路径都丢失了。

答案 1 :(得分:0)

我发现可以避免该问题的解决方法。这是基于此answer的。

在conda环境(例如my_env)中,我可以创建一个新的Python 3内核(例如python3_custom)。现在,该内核将与该conda环境中安装的所有库相关联。

$ conda activate my_env
(my_env)$ conda install ipykernel
(my_env)$ ipython kernel install --user --name=python3_custom
(my_env)$ conda deactivate

我来自my_env或基本环境。然后,从命令提示符启动JupyterLab:

jupyter lab --no-browser --port=8080 &

一旦我现在打开笔记本,就可以将内核选择为python3_custom。由于在关联的conda环境(my_env)中,已经安装了feather,所以我不再收到错误“找不到模块”。