ChatGPT解决这个技术问题 Extra ChatGPT

Jupyter 在哪个 conda 环境中执行?

我有 jupyter/anaconda/python3.5。

我如何知道我的 jupyter notebook 运行在哪个 conda 环境中?如何从新的 conda 环境启动 jupyter?

在你想在 jupyter notebook 中使用的每个环境中安装一个单独的 ipython 内核。这样,您启动哪个 jupyter 实例并不重要。
Docs on installing kernels for environments。要查看笔记本在哪个 conda 环境中运行,您可以检查 sys.executable
如果您使用包 nb_conda_kernels,它会更容易。相关问题/答案:Using both Python 2.x and Python 3.x in IPython Notebook
另请参阅this great article。简而言之,它非常清楚地说明了 jupyter 的“内核”python 环境与您启动 jupyter notebook [notebook_name].ipynb 的 shell 的 python 环境之间的区别。
问题 1 最简单的答案是在当前笔记本单元格或命令提示符下键入“!conda info”或“import sys; print(sys.executable)”。对于问题 2,请遵循以下最简单的答案。

a
alth

正如评论中提到的,切换内核需要对 jupyter notebooks 的 conda 支持。似乎这种支持现在可以通过 conda 本身获得(而不是依赖于 pip)。 http://docs.continuum.io/anaconda/user-guide/tasks/use-jupyter-notebook-extensions/

conda install nb_conda

除了 Notebook Conda Kernels 之外,它还带来了其他三个方便的扩展。


注意:要反映更改,请重新启动 conda 环境。
注意:此外,您需要在 那个环境 中安装 Jupyter(或者根据 rakesh 的回答可能是 ipykernel)。否则 Jupyter 可以识别该环境,但无法在该环境中创建新笔记本。
@RockScience,考虑将其切换为可接受的答案。
nb_conda 应该安装在基本环境、目标环境还是两者中?请扩大答案,谢谢。
有时 nb_conda 与某些已安装的 conda/pip 库不匹配。设置新环境时,我建议您先安装nb_conda然后安装其他库
C
Community

问题一:查找当前notebook的conda环境

在 Jupyter Notebooks 中打开笔记本并查看屏幕右上角。

例如,如果语言是 Python 并且它使用名为 env_name 的环境,它应该说“Python [env_name]”。

https://i.stack.imgur.com/c22av.png

问题 2:从不同的 conda 环境中启动 Jupyter Notebook

在运行 jupyter notebook 之前,使用 source activate <environment name> 在终端中激活 conda 环境。此 sets the default environment 适用于 Jupyter 笔记本。否则,[Root] 环境是默认环境。

https://i.stack.imgur.com/0Qgkx.png

您还可以从 Jupyter Notebook(主屏幕、Conda 选项卡,然后单击加号)中创建新环境。

您可以在任何您想要的环境中创建笔记本。选择主屏幕上的“文件”选项卡,然后单击“新建”下拉菜单,然后在该菜单中从列表中选择 Python 环境。

https://i.stack.imgur.com/otShT.png


如果我没有 Conda 标签怎么办?
which jupyter 返回 /Users/name/anaconda/envs/myEnv/bin/jupyter,我在 [] 中没有看到 Conda 选项卡或环境名称。我的 jupyter 版本是 4.2.0
就我而言,在 conda install jupyter 之后,我停用了 env,然后运行 jupyter notebook,然后我的 env 列在“新”下拉列表中。
@BigBoy1337 墨水的答案 conda install nb_conda 似乎是达到此答案中描述的状态的最直接方法。
H
HongboZhu

jupyter 正在执行哪个环境:

import sys
print(sys.executable)

为 jupyter notebook 创建内核

source activate myenv
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
source activate other-env
python -m ipykernel install --user --name other-env --display-name "Python (other-env)"

http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernel-install


这最终使我的 theano 环境从 jupyter 工作。谢谢!
很好的解决方案!但是很难删除这些手动添加的 ipykernel 环境。
谢谢你。当 Jupyter Notebooks 打开时,我最终需要在 Kernels 选项卡中看到特定环境。
在 jupyter 中删除启动终端并运行 jupyter kernelspec uninstall [env_name]
这是最好的答案。 nb_conda 充满了兼容性问题,并给基础环境带来了很多碎屑。
r
rakesh

如果上述 ans 不起作用,请尝试在新环境中运行 conda install ipykernel,然后从任何环境运行 jupyter notebook,您将能够看到或在这些内核之间切换。


谢谢!我尝试了以上所有方法,这是唯一没有删除和重建环境的方法
是的,这是正确的答案。单独的 nb_conda 不起作用。
R
Rimma Shafikova

https://i.stack.imgur.com/F5IR3.png


如果它抛出“内核错误”我们需要为内核安装用户,添加“python -m ipykernel install --user”
S
Savrige

要显示笔记本正在使用哪个 conda env,只需输入一个单元格:

!conda info

如果你有 grep,更直接的方法:

!conda info | grep 'active env'

这是 OP 问题第 1 部分的最简单和最简单的答案。
C
Code Pope

因为上面的答案都不适合我,所以我在这里写下最终解决了我在 Ubuntu 上的问题的解决方案。我的问题是:我做了以下步骤:

激活我的环境: conda activate MyEnv 启动 jupyter notebook:jupyter notebook

虽然 MyEnv 在终端中处于活动状态并且在编写 conda env list 时有一个星号,但 jupyter notebook 是在基本环境中启动的。安装 nb_condaipykernel 也没有解决我的问题。此外,conda 选项卡没有出现在 jupyter 笔记本中,并且单击内核或转到菜单 Kernel->Change Kernel 也没有显示内核 MyEnv
解决方案是:将 jupyter_environment_kernel 安装在MyEnv环境:

pip install environment_kernels

之后启动 jupyter notebook 时,它会在正确的环境下启动。您还可以在不停止内核的情况下切换环境,方法是转到菜单 Kernel->Change Kernel 并选择所需的内核。


您应该直接从 Anaconda 桌面 GUI 环境创建环境。这个答案给出了使用 pip 修改 conda 环境的意外和不需要的副作用。您不应在同一环境中混合使用 pip 和 conda 命令。有关详细信息,请参阅 anaconda.com/blog/using-pip-in-a-conda-environment
S
Sushant Chaudhary

问题 1:如何知道我的 jupyter notebook 运行在哪个 conda 环境中?

启动 Anaconda Prompt 并运行命令 conda env list 以列出所有可用的 conda 环境。您可以清楚地看到我的 PC 上安装了两个不同的 conda 环境,我当前活动的环境是 root (Python 2.7),由路径前面的星号 (*) 符号表示。

问题 2:如何从新的 conda 环境启动 jupyter?

现在,要启动所需的 conda 环境,只需运行 activate 。在这种情况下,激活 py36

有关详细信息,请查看此 linkthis previous Stack Overflow question.


r
roshandeep singh

以下命令将直接在 jupyter notebook 中添加 env。

conda create --name test_env
conda activate test_env
conda install -c anaconda ipykernel
python -m ipykernel install --user --name=test_env

现在它应该说“Python [test_env]”,如果语言是 Python 并且它正在使用一个名为 test_env 的环境。


M
MBaadror

要检查您的笔记本在哪个环境中运行,请在笔记本外壳中键入以下命令

import sys
print(sys.executable)

要在新环境中启动笔记本,请先停用该环境。创建一个 conda 环境,然后安装 ipykernel。激活那个环境。在该环境中安装 jupyter。

conda create --name {envname}
conda install ipykernel --name {envname}
python -m ipykernel install --prefix=C:/anaconda/envs/{envname} --name {envname}
activate envname
pip install jupyter

在您的情况下,路径“C:/anaconda/envs/{envname}”可能不同,请相应检查。完成所有步骤后,启动笔记本并执行第 1 步,在 shell 中运行以下命令。

sys.executable

这应该显示:Anaconda/envs/envname


p
ph99

在 Ubuntu 20.04 上,上述建议均无效。

即我激活了一个现有的环境。我发现(使用 sys.executable 和 sys.path)我的 jupyter notebook 内核正在运行 DEFAULT Anaconda python,而不是我在激活的环境中安装的 python。这样做的结果是我的笔记本无法将我安装的软件包导入到这个特定的 Anaconda 环境中。

按照上述说明(以及大量其他 URL),我安装了 ipykernel、nb_conda 和 nb_conda_kernels,然后运行:python -m ipykernel --user --name myenv。

使用 Jupyter 笔记本中的 Kernels|Change Kernel... 菜单,我选择了 myenv,这是我在 python -m ipykernel 命令中指定的。

但是, sys.executable 表明这并没有“坚持”。

我尝试关闭并重新启动,但没有任何结果导致我获得了我选择的环境。

最后,我只是在文件夹中编辑了文件 kernel.json:

~/.local/share/jupyter/kernels/myenv

果然,尽管我已经执行了上面建议的所有步骤,但这个 JSON 文件中的第一个参数仍然显示默认的 python 位置:

$Anaconda/bin/python(其中 $Anaconda 是我安装 anaconda 的位置)

我使用文本编辑器编辑了文件 kernel.json,因此将其更改为:

$Anaconda/envs/myenv/bin/python

希望我对 myenv 的使用被理解为您应该将其替换为您的环境名称。

编辑完这个文件后,我的 Jupyter 笔记本开始正常工作——也就是说,它们使用了为我激活的环境指定的 python,并且我能够导入安装在这个环境中的包,但不能导入基本的 Anaconda 环境。

显然,ipykernel、nb_conda 和 nb_conda_kernels 软件包集如何为 jupyter 配置 Anaconda 环境有些混乱。


我也必须更改 ~/.local/share/jupyter/kernels/<myenv>/kernel.json
我可以确认此解决方案在 Windows 上也适用于我。需要编辑的文件应该在 C:\\Users\\username\\AppData\\Roaming\\jupyter\\kernels\\myenv 中,您需要在其中将 python.exe 文件的路径更改为在您的环境中找到的路径,它可能应该是这样的:C:\\Users\\username\\anaconda3\\envs\\myenv\\python.exe
k
kali prasad deverasetti

除了在新环境中安装 jupyter 之外,我已经尝试了上面提到的所有方法,但没有任何效果。

激活新环境 conda activate new_env 将“new_env”替换为您的环境名称。

下一步安装 jupyter 'pip install jupyter'

您还可以通过转到 anaconda navigator 并选择正确的环境来安装 jupyter,然后从 Home 选项卡安装 jupyter notebook


M
Mayank Agarwal

添加到上述答案,您还可以使用

!which python

在单元格中键入它,这将显示环境的路径。我不确定原因,但是在我的安装中,notebook中没有隔离环境,但是在激活环境并启动jupyter notebook时,使用的路径是安装在环境中的python。


M
Maria

对于 Windows 10,

进入 Anaconda Launcher 在“Applications on”下拉菜单中,选择所需的 conda 环境。在 Anaconda Launcher 中安装 Jupyter notebook 从 Anaconda Launcher 启动 Jupyter notebook

https://i.stack.imgur.com/kBRAj.png

Conda 选项卡在 Jupyter 笔记本中可见,您可以在其中查看活动的 conda env。


S
Shantanu Suryawanshi

要检查您的 Jupyter Notebook 正在运行哪个 Python,请尝试执行此代码。

从平台导入 python_version 打印(python_version())

为了从您的环境中运行 jupyter notebook,请激活 MYenv 并使用命令 pip install jupyter notebook 安装 jupyter notebook

然后只是 jupyter 笔记本


L
Luc Krols

为我解决问题的是我必须运行以下命令:

python -m ipykernel install --user --name myenv --display-name "Python (myenv)"

问题是我为另一个 conda python 环境打开了一个用/为内核制作的 jupyter notebook。从终端的输出中可以看到;从 conda 环境的终端运行 jupyter notebook 很方便,这样您就可以轻松查看显示的错误消息。然后很明显,笔记本试图从另一个环境运行 python。

检查文件夹/文件:

C:\Users\<username>\AppData\Roaming\jupyter\kernels\<env name>\kernel.json

 "argv": [
  "D:\\Users\\<username..path>\\envs\\<env name>\\python.exe",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python (env name)",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

因此,您可以在必要时进行检查和更正。

其次,在使用anaconda/conda时,请确保您有一个健康的通道策略,并在创建新环境时执行以下命令:

conda config --add channels conda-forge
conda config --set channel_priority strict

它为我解决了这个问题,我希望它对你也有帮助。