Jupyter lab 错误地使用 base python 可执行文件,jupyter notebook 正确使用 venv 可执行文件?

Jupyter lab incorrectly uses base python executable, jupyter notebook correctly uses venv executable?

我创建了一个新的虚拟环境:

conda create -n ml python=3.7 jupyter
activate ml

然后,从命令行我 运行 jupyter lab

> jupyter lab

并根据 jupyter 实验室笔记本中的提示:

In  [1]: import sys
In  [2]: sys.executable
Out [2]: 'C:\ProgramData\Anaconda3\python.exe'
In  [3]: !where jupyter
Out [3]: C:\Users\ragingroosevelt\AppData\Local\conda\conda\envs\ml\Scripts\jupyter.exe

接下来,我启动 jupyter notebook(从相同的命令提示符 window)

> jupyter notebook

并根据笔记本中的提示:

In  [1]: import sys
In  [2]: sys.executable
Out [2]: 'C:\Users\ragingroosevelt\AppData\Local\conda\conda\envs\ml\python.exe'
In  [3]: !where jupyter
Out [3]: C:\Users\ragingroosevelt\AppData\Local\conda\conda\envs\ml\Scripts\jupyter.exe

我不确定是什么导致了这个问题。我假设实验室缺少将虚拟环境考虑在内的笔记本启动脚本中的某些内容?

是什么导致了这个问题?我将如何修复它?

我一直在四处寻找。看起来 jupyter lab 实际上是一个独立于 jupyter 的 python 库(jupyterlab),因为我没有在我的 ml 虚拟环境中安装它,它使用 jupyterlab 安装 anaconda 基础虚拟环境。我以前没听说过这种类型的出血,但这似乎是问题的原因。

> conda install --name ml jupyterlab

已解决问题。