我有 jupyter/anaconda/python3.5。
我如何知道我的 jupyter notebook 运行在哪个 conda 环境中?如何从新的 conda 环境启动 jupyter?
sys.executable
。
nb_conda_kernels
,它会更容易。相关问题/答案:Using both Python 2.x and Python 3.x in IPython Notebook
jupyter
的“内核”python 环境与您启动 jupyter notebook [notebook_name].ipynb
的 shell 的 python 环境之间的区别。
正如评论中提到的,切换内核需要对 jupyter notebooks 的 conda 支持。似乎这种支持现在可以通过 conda 本身获得(而不是依赖于 pip)。 http://docs.continuum.io/anaconda/user-guide/tasks/use-jupyter-notebook-extensions/
conda install nb_conda
除了 Notebook Conda Kernels 之外,它还带来了其他三个方便的扩展。
问题一:查找当前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 列在“新”下拉列表中。
conda install nb_conda
似乎是达到此答案中描述的状态的最直接方法。
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
jupyter kernelspec uninstall [env_name]
如果上述 ans 不起作用,请尝试在新环境中运行 conda install ipykernel
,然后从任何环境运行 jupyter notebook,您将能够看到或在这些内核之间切换。
https://i.stack.imgur.com/F5IR3.png
要显示笔记本正在使用哪个 conda env,只需输入一个单元格:
!conda info
如果你有 grep,更直接的方法:
!conda info | grep 'active env'
因为上面的答案都不适合我,所以我在这里写下最终解决了我在 Ubuntu 上的问题的解决方案。我的问题是:我做了以下步骤:
激活我的环境: conda activate MyEnv 启动 jupyter notebook:jupyter notebook
虽然 MyEnv
在终端中处于活动状态并且在编写 conda env list
时有一个星号,但 jupyter notebook 是在基本环境中启动的。安装 nb_conda
和 ipykernel
也没有解决我的问题。此外,conda
选项卡没有出现在 jupyter 笔记本中,并且单击内核或转到菜单 Kernel->Change Kernel
也没有显示内核 MyEnv
。
解决方案是:将 jupyter_environment_kernel 安装在MyEnv
环境:
pip install environment_kernels
之后启动 jupyter notebook 时,它会在正确的环境下启动。您还可以在不停止内核的情况下切换环境,方法是转到菜单 Kernel->Change Kernel
并选择所需的内核。
问题 1:如何知道我的 jupyter notebook 运行在哪个 conda 环境中?
启动 Anaconda Prompt 并运行命令 conda env list 以列出所有可用的 conda 环境。您可以清楚地看到我的 PC 上安装了两个不同的 conda 环境,我当前活动的环境是 root (Python 2.7),由路径前面的星号 (*) 符号表示。
问题 2:如何从新的 conda 环境启动 jupyter?
现在,要启动所需的 conda 环境,只需运行 activate
有关详细信息,请查看此 link 和 this previous Stack Overflow question.。
以下命令将直接在 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 的环境。
要检查您的笔记本在哪个环境中运行,请在笔记本外壳中键入以下命令
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
在 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
。
C:\\Users\\username\\AppData\\Roaming\\jupyter\\kernels\\myenv
中,您需要在其中将 python.exe
文件的路径更改为在您的环境中找到的路径,它可能应该是这样的:C:\\Users\\username\\anaconda3\\envs\\myenv\\python.exe
。
除了在新环境中安装 jupyter 之外,我已经尝试了上面提到的所有方法,但没有任何效果。
激活新环境 conda activate new_env
将“new_env”替换为您的环境名称。
下一步安装 jupyter 'pip install jupyter'
您还可以通过转到 anaconda navigator 并选择正确的环境来安装 jupyter,然后从 Home 选项卡安装 jupyter notebook
添加到上述答案,您还可以使用
!which python
在单元格中键入它,这将显示环境的路径。我不确定原因,但是在我的安装中,notebook中没有隔离环境,但是在激活环境并启动jupyter notebook时,使用的路径是安装在环境中的python。
对于 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。
要检查您的 Jupyter Notebook 正在运行哪个 Python,请尝试执行此代码。
从平台导入 python_version 打印(python_version())
为了从您的环境中运行 jupyter notebook,请激活 MYenv 并使用命令 pip install jupyter notebook 安装 jupyter notebook
然后只是 jupyter 笔记本
为我解决问题的是我必须运行以下命令:
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
它为我解决了这个问题,我希望它对你也有帮助。
不定期副业成功案例分享
Jupyter
(或者根据 rakesh 的回答可能是ipykernel
)。否则 Jupyter 可以识别该环境,但无法在该环境中创建新笔记本。nb_conda
与某些已安装的conda
/pip
库不匹配。设置新环境时,我建议您先安装nb_conda
然后安装其他库