ipython和jupyter控制台之间的关系和区别是什么

Liu*_*Sha 9 python ipython jupyter

在ipython笔记本项目重命名为jupyter之后,我总是认为它ipython notebook是相同的,jupyter notebookipythonshell只是别名jupyter console.今天我意识到ipython没有connect_info魔法定义,因此无法从不同的后端连接.

我的conda中安装了以下组件:

ipython                   6.1.0                    py36_0    defaults
jupyter                   1.0.0                    py36_4    defaults
jupyter_client            5.2.3                    py36_0    defaults
jupyter_console           5.2.0            py36he59e554_1    defaults
jupyter_contrib_core      0.3.3                    py36_1    conda-forge
jupyter_contrib_nbextensions 0.5.0                    py36_0    conda-forge
jupyter_core              4.4.0            py36h7c827e3_0    defaults
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

  1. ipython这个版本和jupyter console这个版本之间有什么关系?
  2. ipython notebook(ipython 6.1.0另有弃用)是否与jupyter库共享一些组件; 或者ipython notebook仍然是独立的?
  3. 不要ipythonjupyter有任何相关性?

iva*_*eev 5

体系结构指南— Jupyter文档提供有关如何连接和关联IPython和Jupyter的权威信息。

具体来说,根据从IPython Notebook进行迁移-Jupyter文档

大分裂将IPython的各种与语言无关的组件移到了Jupyter的保护下。展望未来,Jupyter将包含为多种语言服务的与语言无关的项目。IPython将继续专注于Python及其在Jupyter中的使用。

Jupyter的体系结构包括前端(Web或控制台)和后端(各种语言的内核)。IPython控制台仅适用于Python和终端。如果“ IPython Notebook”还是一回事(如果pip install ipython从IPython 5.5.0开始,它不是开箱即用的),则可能是向后兼容的移动组件的雏形。

IPython是Jupyter的依赖项:

> pip show jupyter
<...>
Requires: ipywidgets, qtconsole, nbconvert, notebook, jupyter-console, ipykernel

> pip show ipython
<...>
Required-by: jupyter-console, ipywidgets, ipykernel
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢您的回复。[项目的视觉概述](http://jupyter.readthedocs.io/en/latest/architecture/visual_overview.html)显示了明确的依赖关系。从图中和您的答复来看,它都说ipykernel取决于ipython。而不是相反。这是有趣的。我认为ipython将成为与内核(ipykernel)通信的外壳,与jupyter一样。但事实并非如此。 (2认同)
  • 感谢您将文本直接放在链接中,这些页面现在已经消失了,但您的答案仍然存在:) (2认同)
  • 现在链接似乎是 [here](https://jupyter.readthedocs.io/en/latest/projects/architecture/content-architecture.html)。 (2认同)