我的Jupyter笔记本电脑安装了python 2内核。我不明白为什么。我可能在安装的时候搞砸了。我已经安装了python 3。我怎么能把它加到木星上? 下面是默认的Jupyter使用python3 -m install Jupyter安装并在浏览器中使用Jupyter notebook打开的截图:


当前回答

要将特定的python添加到jupyter内核中,首先使用以下命令检查可用的python或python3的路径

$ where python3

假设你有'/usr/local/bin/python3'作为路径之一。要为这个版本的python创建一个名为'name_to_new_kernel'的内核,该内核将显示在jupyter中,

$ /usr/local/bin/python3 -m pip install ipykernel
$ /usr/local/bin/python3 -m ipykernel install --user --name name_to_new_kernel

使用实例检查名称为'name_to_new_kernel'的新内核是否添加到jupyter

jupyter kernelspec list

其他回答

确保已经安装了ipykernel,并使用ipython kernel install将kernelspec放到python2的正确位置。然后为Python3安装ipython3内核。现在,无论您使用的是jupyter notebook、ipython notebook还是ipython3 notebook(后两种已弃用),您都应该能够在这两种内核之间进行选择。

注意,如果你想安装一个特定的Python可执行文件,你可以使用以下技巧:

path/to/python -m ipykernel install <options>

当使用环境(venv,conda,…)和<选项>让你命名你的内核时,这是有效的(参见——help)。所以你可以

conda create -n py36-test python=3.6
source activate py36-test
python -m ipykernel install --name py36-test
source deactivate

现在,在下拉菜单中可以看到名为py36-test的内核和其他内核。

参见使用Python 2。3. Python。IPython Notebook中的最新信息。

除了Python2之外,我还设法安装了Python3内核。我是这样做的:

在木星上打开一个新的笔记本 复制并运行这里的两个单元格:Enable-Python-3-kernel

最新的工作链接可以在这里找到。

实际代码为:

! mkdir -p ~/.ipython/kernels/python3
%%file ~/.ipython/kernels/python3/kernel.json

{
 "display_name": "IPython (Python 3)", 
 "language": "python", 
 "argv": [
  "python3", 
  "-c", "from IPython.kernel.zmq.kernelapp import main; main()", 
  "-f", "{connection_file}"
 ], 
 "codemirror_mode": {
  "version": 2, 
  "name": "ipython"
 }
}

使用Python2获得ipython笔记本(在Windows7上) 用pip install -U Jupyter升级到Jupyter 安装Python3 使用pip3 install Jupyter再次安装Jupyter 使用ipython3 kernelspec install-self安装Python3内核 我终于有两个工作的玉米粒了。

解决方案在官方文档中有详细的说明:https://ipython.readthedocs.org/en/latest/install/kernel_install.html

我尝试了第一种方法。因为我已经安装了ipykernel,简单地运行python3 -m ipykernel install——user就解决了这个问题。

用于当前的Python启动器

如果您安装了Py3,但默认为py2

py -3 -m pip install ipykernel
py -3 -m ipykernel install --user

如果您安装了Py2,但默认为py3

py -2 -m pip install ipykernel
py -2 -m ipykernel install --user