如何将python3内核添加到jupyter(IPython)

时间:2015-03-03 12:29:13

标签: ipython ipython-notebook jupyter jupyter-notebook

我的Jupyter笔记本安装了python 2内核。我不懂为什么。我做安装时可能搞砸了。我已经安装了python 3。如何将其添加到Jupyter? 以下是使用Jupyterpython3 -m install jupyter打开的默认jupyter notebook的屏幕截图,其中{{1}}在浏览器中打开,如下所示: enter image description here

24 个答案:

答案 0 :(得分:220)

这对我在Ubuntu 16.04上有用:

python2 -m pip install ipykernel
python2 -m ipykernel install --user

python3 -m pip install ipykernel
python3 -m ipykernel install --user

参考文件:
Kernels for Python 2 and 3。安装IPython内核 - IPython Docs。

答案 1 :(得分:209)

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

请注意,如果要为特定的Python可执行文件安装,可以使用以下技巧:

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

这在使用环境(venv,conda,...)时有效,而<options>允许您为内核命名(请参阅--help)。所以你可以做到

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

现在,您在下拉菜单中获得了一个名为py36-test的内核,以及其他内核。

请参阅Using both Python 2.x and Python 3.x in IPython Notebook,其中包含最新信息。

答案 2 :(得分:103)

  1. 使用Python2(在Windows7上)获得ipython笔记本
  2. 使用mysqli_
  3. 升级到Jupyter
  4. 安装Python3
  5. 使用pip install -U jupyter
  6. 再次安装Jupyter
  7. 使用pip3 install jupyter
  8. 安装Python3内核
  9. 我终于有了2个工作内核。
  10. great results

答案 3 :(得分:44)

最近版本的jupyter / ipython :使用jupyter kernelspec

列出当前内核

$ jupyter kernelspec list
Available kernels:
  python2    .../Jupyter/kernels/python2
  python3    .../Jupyter/kernels/python3

在我的情况下,python3内核设置被破坏,因为py3.5链接不再存在,取而代之的是py3.6

添加/删除内核

删除:

$ jupyter kernelspec uninstall python3

添加新的

$ jupyter kernelspec install /usr/local/Cellar/python3/3.6.1/bin/

要查找该文件夹,您可以使用which PYTHON例如which python3.6(如果您使用的是pyenv,则使用pyenv which python3.6。)。然后

ls -la `which python3.6` 

将显示可执行文件的位置。

再次列出:

$ jupyter kernelspec list
Available kernels:
  python3    /usr/local/lib/python3.6/site-packages/ipykernel/resources
  python2    /Users/stefano/Library/Jupyter/kernels/python2

Doc:https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs

详细

可用的内核列在Jupyter DATA DIRECTORY的kernels文件夹下(有关详细信息,请参阅http://jupyter.readthedocs.io/en/latest/projects/jupyter-directories.html)。

例如在macosx上/Users/YOURUSERNAME/Library/Jupyter/kernels/

内核简单地由kernel.json文件描述,例如。 /Users/me/Library/Jupyter/kernels/python3/kernel.json

{
 "argv": [
  "/usr/local/opt/python3/bin/python3.5",
  "-m",
  "ipykernel",
  "-f",
  "{connection_file}"
 ],
 "language": "python",
 "display_name": "Python 3"
}

而不是手动操作,您可以使用kernelspec命令(如上所述)。它之前通过jupyter(http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments - https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs)通过ipython提供。

$ jupyter kernelspec help
Manage Jupyter kernel specifications.

Subcommands
-----------

Subcommands are launched as `jupyter kernelspec cmd [args]`. For information on
using subcommand 'cmd', do: `jupyter kernelspec cmd -h`.

list
    List installed kernel specifications.
install
    Install a kernel specification directory.
uninstall
    Alias for remove
remove
    Remove one or more Jupyter kernelspecs by name.
install-self
    [DEPRECATED] Install the IPython kernel spec directory for this Python.

To see all available configurables, use `--help-all`

其他语言的内核

顺便说一句,与此问题没有严格关联,但还有很多其他内核可用... https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

答案 4 :(得分:37)

如果您使用的是anaconda发行版,这对我有用(在macintosh上):

$ conda create -n py3k python=3 anaconda

$ source activate py3k

$ ipython kernelspec install-self

最后一个命令的注释:

(py3k)Monas-MacBook-Pro:cs799 mona$ ipython kernelspec install-self
[TerminalIPythonApp] WARNING | Subcommand `ipython kernelspec` is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use `jupyter kernelspec` in the future
[InstallNativeKernelSpec] WARNING | `jupyter kernelspec install-self` is DEPRECATED as of 4.0. You probably want `ipython kernel install` to install the IPython kernelspec.
[InstallNativeKernelSpec] Installed kernelspec python3 in /usr/local/share/jupyter/kernels/python3
(py3k)Monas-MacBook-Pro:cs799 mona$ ipython kernel install 
Installed kernelspec python3 in /usr/local/share/jupyter/kernels/python3

在OSX Yosemite中通过上述步骤测试并输入jupter notebook并在浏览器中创建新笔记本,您将看到以下屏幕截图: enter image description here

答案 5 :(得分:26)

我使用以下命令在macOS El Capitan(ipython版本:4.1.0)上成功安装了python3内核。

var user = firebase.auth().currentUser;
if (user != null {
  $scope.user = {
    name: user.displayName,
    email: user.email,
    photoURL: user.PhotoURL
  }
}

您可以使用python3 -m pip install ipykernel python3 -m ipykernel install --user 查看所有已安装的内核。

有更多信息here

答案 6 :(得分:19)

以下命令适用于我,在macOS Sierra(10.12.3)

python3 -m pip install ipykernel
python3 -m ipykernel install --user

检查一下     jupyter kernelspec列表 可用内核:     python3 / Users / admin / Library / Jupyter / kernels / python3     python2 / anaconda2 / share / jupyter / kernels / python2

答案 7 :(得分:19)

打开终端(或窗口的cmd),然后运行以下命令: (在窗口中,在第二行中删除“source”。)

conda create -n py35 python=3.5
source activate py35
conda install notebook ipykernel
ipython kernel install --user --name=python3.5

我尝试了一些方法,但它不起作用,然后我找到了这种方式。 它与我合作。希望它可以帮助。

答案 8 :(得分:13)

我有Python 2.7并希望能够在Jupyter内部切换到Python 3。

这些步骤适用于Windows Anaconda命令提示符:

conda update conda
conda create -n py33 python=3.3 anaconda
activate py33
ipython kernelspec install-self
deactivate

现在在使用Python2.7的常用命令打开ipython笔记本之后,在创建新笔记本时也可以使用Python3.3。

答案 9 :(得分:6)

sudo apt-get install python3-pip python3-dev
pip3 install -U jupyter

答案 10 :(得分:5)

在Ubuntu 14.04上,我不得不使用之前答案的组合。

首先,安装pip3 apt-get install python-pip3

然后用pip3安装jupyter pip3 install jupyter

然后使用ipython3安装内核 ipython3 kernel install

答案 11 :(得分:4)

其他答案都没有立即在ElementaryOS Freya(基于Ubuntu 14.04)上为我工作;我正在接受

  

[TerminalIPythonApp]警告|找不到文件:&#39; kernelspec&#39;

Matt的回答中描述的快速错误

错误。我不得不先做:

sudo apt-get install pip3,然后

sudo pip3 install ipython[all]

此时,您可以运行Matt建议的命令;即:ipython kernelspec install-selfipython3 kernelspec install-self

现在,当我启动ipython notebook然后打开笔记本时,我可以从内核菜单中选择Python 3内核。

答案 12 :(得分:4)

对于当前的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

答案 13 :(得分:3)

我设法安装除Python2之外的Python3内核。这是我做的方式:

可以找到最新的工作链接here

实际代码是:

! 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"
 }
}

答案 14 :(得分:3)

官方文档中详细记录了该解决方案:https://ipython.readthedocs.org/en/latest/install/kernel_install.html

我尝试了第一种方法。由于我已经安装了ipykernel,因此只需运行python3 -m ipykernel install --user即可解决问题。

答案 15 :(得分:1)

将多个内核安装到单个虚拟环境(VENV)

大多数(如果不是全部)答案都假设您很高兴在全球范围内安装软件包。如果您符合以下条件,则此答案是给您的:

  • 使用* NIX机器
  • 不喜欢在全球安装软件包
  • 不想使用anaconda <->您很乐意从命令行运行jupyter服务器
  • 想要了解内核安装的'是'/位置。

(注意:此答案将python2内核添加到python3-jupyter安装中,但从概念上讲,它很容易互换。)

  1. 先决条件

    1. 您位于要运行jupyter服务器并保存文件的目录中
    2. python2已安装在您的计算机上
    3. python3已安装在您的计算机上
    4. virtualenv已安装在您的计算机上
  2. 创建python3 venv并安装jupyter

    1. 创建一个新的python3 venv:python3 -m venv .venv
    2. 激活venv:. .venv/bin/activate
    3. 安装jupyterlab:pip install jupyterlab。这将在本地创建运行笔记本的所有基本基础结构。
    4. 注意:通过在此处安装jupyterlab,您还可以在$PWD/.venv/share/jupyter/kernels/python3/中生成默认的“内核规范”(见下文)。如果要在其他地方安装和运行jupyter,并且仅使用此venv来组织所有内核,则只需:pip install ipykernel
    5. 您现在可以使用jupyter lab运行jupyter lab(并在浏览器中转到控制台中显示的URL)。到目前为止,您只会看到一个名为“ Python 3”的内核选项。 (此名称由您的display_name文件中的kernel.json条目确定。)
  3. 添加python2内核

    1. 退出jupyter(或在同一目录中启动另一个shell):ctrl-c
    2. 停用python3 venv:deactivate
    3. 在与python2相同的目录中创建新的venv:virtualenv -p python2 .venv2
    4. 激活您的python2 venv:. .venv2/bin/activate
    5. 安装ipykernel模块:pip install ipykernel。这还将在.venv2/share/jupyter/kernels/python2
    6. 中为此python2 venv生成默认内核规范。
    7. 将这些内核规范导出到python3 venv:python -m ipykernel install --prefix=$PWD/.venv。这基本上只是将目录$PWD/.venv2/share/jupyter/kernels/python2复制到$PWD/.venv/share/jupyter/kernels/
    8. 切换回python3 venv和/或重新运行/重新检查jupyter服务器:deactivate; . .venv/bin/activate; jupyter lab。如果一切顺利,您将在内核列表中看到一个Python 2选项。您可以通过处理简单的print 'Hellow world'print('Hellow world')命令来测试它们是否正在运行真正的python2 / python3解释器。
    9. 注意:如果您愿意安装ipykernel并从全局空间引用python2-kernel规范,则无需为python2创建单独的venv,但我希望将所有依赖项放在一个本地dir < / li>

TL; DR

  1. (可选)安装R内核。这有助于理解内核是什么。
    1. 从同一目录安装R IRkernel软件包:R -e "install.packages('IRkernel',repos='https://cran.mtu.edu/')"。 (这将安装到您的标准R-packages位置;对于Mac上的家庭自制安装的R,它看起来像/usr/local/Cellar/r/3.5.2_2/lib/R/library/IRkernel。)
    2. IRkernel软件包带有导出其内核规范的功能,因此运行:R -e "IRkernel::installspec(prefix=paste(getwd(),'/.venv',sep=''))"。现在,如果您在$PWD/.venv/share/jupyter/kernels/中查找,则会找到一个包含ir文件的kernel.json目录,该文件看起来像这样:
{
  "argv": ["/usr/local/Cellar/r/3.5.2_2/lib/R/bin/R", "--slave", "-e", "IRkernel::main()", "--args", "{connection_file}"],
  "display_name": "R",
  "language": "R"
}

总而言之,内核只是从kernel.json文件中调用特定语言的可执行文件,jupyter在.../share/jupyter/kernels目录中查找并在其接口中列出;在这种情况下,将调用R来运行函数IRkernel::main(),该函数会将消息来回发送给Jupiter服务器。同样,python2内核只是“ {”对模块ipykernel_launcher的python2解释器的调用,如.venv/share/jupyter/kernels/python2/kernel.json等所示。

如果您想一次执行所有这些指令,这里是script

答案 16 :(得分:1)

我面临着同样的问题。每当我使用以下命令启动jupyter笔记本时,都不会看到创建新Python 3笔记本的选项。

我通过运行以下命令解决了这个问题。

pip install notebook

之后,我使用与以前相同的命令启动了笔记本

jupyter notebook

我能够看到我的主目录并创建新的python3笔记本。

答案 17 :(得分:0)

使用conda管理python环境时,请按照以下两个步骤操作:

  1. activate py3(在Windows上或Linux上为source activate py3
  2. conda install notebook ipykernel或只使用conda install jupyter

答案 18 :(得分:0)

这是我找到的Windows /非命令行方法,它对我有用: 找到存储内核文件的文件夹(在我的机器上 - C:\ ProgramData \ jupyter \ kernels - 注意ProgramData是一个隐藏文件夹),创建现有内核文件夹的副本,更改名称并编辑内部的json文件指向新内核的目录。在这个json中你还可以编辑ipython中显示的内核名称(例如,如果你因某些原因需要进一步区分,你可以指定2.7.9而不是python 2。)

答案 19 :(得分:0)

我这边最短,最好的解决方案

Map

答案 20 :(得分:0)

添加内核意味着您要对列表中未显示的python版本使用Jupyter Notebook

简单方法-使用所需的python版本启动笔记本,假设我已安装python3.7,然后从终端(cmd)使用以下命令运行笔记本:

python3.7 -m notebook

有时会以python3.7的别名代替py, py3.7, python进行安装。

答案 21 :(得分:0)

我在python-2上遇到了同样的错误。我想运行python-2 jupyter笔记本会话,但默认情况下我正在获取python-3。因此,最简单的解决方法是为python-2打开Anaconda终端并键入'jupyter notebook',它将毫无问题地启动jupyter-notebook会话。类似地,可以使用python-3

尝试

答案 22 :(得分:0)

此答案说明了如何使用Poetry dependency management创建Python 3,Jupyter 1和ipykernel 5工作流程。诗歌使为Jupyter笔记本创建虚拟环境变得容易。我强烈建议不要运行python3命令。安装全局依赖项的Python工作流使您陷入依赖地狱。

以下是干净,可靠的诗歌工作流程的摘要:

  • 使用poetry add pandas jupyter ipykernel
  • 安装依赖项
  • 使用poetry shell在虚拟环境中打开外壳程序
  • 使用jupyter notebook
  • 打开Jupyter笔记本,访问所有虚拟环境依赖项

This blog详细讨论了工作流程。还有干净的Conda工作流程。注意此线程中的许多答案-他们会让您踏上一条会带来很多痛苦和磨难的道路。

答案 23 :(得分:-1)

我很确定您所要做的就是运行

pip3安装jupyter