在Conda环境中安装Python内核

3

我刚刚开始使用jupyter notebook进行开发。我首先创建了一个新的Python环境:

$ conda create -n testenv

然后我激活它:

$ source activate testenv

并安装Python内核模块:

$ pip install ipykernel

现在就开始进入模糊的环节了。我想要创建一个仅适用于我的活跃环境的新内核。按照文档,我执行了以下操作:

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

我相信我刚刚为Jupyter Notebook创建了一个新的Python内核,以供在testenv环境中使用。现在,我想确认这个信息并进行检查:

$ jupyter kernelspec list

Available kernels:
testenv   /home/{{user}}/.local/share/jupyter/kernels/testenv
python2   /home/{{user}}/miniconda2/share/jupyter/kernels/python2

$ conda env list
# conda environments:
#
base         /home/{{user}}/miniconda2
testenv   *  /home/{{user}}/miniconda2/envs/testenv

我原本期望在testenv环境中看到我的内核已经安装好了,类似于:

/home/{{user}}/miniconda2/envs/testenv/kernels/testenv

我没有看到环境和内核如何联系在一起,也不知道如何确认这些信息。

2个回答

1
问题在于当你创建一个空的环境时,它不会安装任何包,甚至没有pip和Python。因此,当你使用pip安装ipykernel时,你使用的是基本环境中的pip。你需要使用pippython创建环境。
conda create -n testenv python

You can check this by typing

which pip

在创建空白环境之后,最后,如果可能的话,您应该使用conda安装所有包,包括ipykernel。

好的,谢谢您的建议。我刚刚尝试了一下:conda create -n testenv python ipykernel。现在我在testenv环境中有了python和pip命令。然而,最终我仍然将我的内核放在同一个旧位置,即/home/{{user}}/.local/share/jupyter/kernels/testenv。我仍然不明白这个内核与我刚刚创建的环境有什么关系,这也是问题的核心所在。 - renatodamas
是的,我使用 $ conda env remove -n testenv 清理了环境,并从内核文件夹中彻底删除了 testenv。 - renatodamas
请问您的内核路径是什么? - renatodamas
1
/Users/bryan/miniconda3/envs/thermohw/share/jupyter/kernels/python3 - darthbith
这真的是我期望的,但却没有得到 :( - renatodamas
显示剩余3条评论

1
首先,您需要使用以下内容:
conda create -n testenv

之后应该使用:

conda activate testenv
conda install ipykernel
python3 -m ipykernel install --user --name condaenv --display-name "Python3 (testenv)"

一旦您完成了这个步骤,您可以使用“jupyter notebook”启动笔记本,并打开任何“.ipynb”笔记本。在该笔记本中,选择菜单Kernel > Change kernel > Python3 (condaenv)以激活conda环境内核。

1
截至2022年,使用conda时,不需要执行“python3 -m ipykernel install ...”步骤。安装了“nb_conda_kernels”的任何conda环境都将找到已安装了“ipykernel”的任何conda环境。如果您不使用带有“nb_conda_kernels”的conda,则需要遵循“python3 -m ipykernel install ...”步骤。 - magiclantern

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接