LoginSignup
6
5

More than 3 years have passed since last update.

【図解】IPythonとJupyterの関係を簡単に図解してみた

Last updated at Posted at 2020-02-10

疑問:IPythonとJupyterにはどういう関係があるのか?

JupyterのドキュメントやStackOverflowの質問などを見ているとよくIPythonが出てきます。

IPythonとJupyterの関係ってどういう関係なのか?と気になったので少し調べてみました。

そしてせっかくなので、最近見つけたオンラインホワイトボード https://miro.com/ を使って図解してみます。

注意

正直、細かいところは結構間違っていると思います。なので、IPythonとJupyterの関係性ってこういうイメージなのね、ってくらいの参考にしてください。

「それにしてもこれはあきらかに間違ってるでしょう・・・」っていうのがありましたら教えていただけると幸いです。

では、IPythonとJupyterのつながりを見ていきます。

1. もともとはIPythonしかなかった

はじめはIPythonしかありませんでした。
よく僕らが思い浮かべる↓のようなセルとかUIのnotebook機能はすべてIPythonが提供していました。これがIPython3.Xまで続きます。

jupyterpreview.png

無理やり図解している感はありますが図解するとこんな感じです。
ipython 3.X.jpg

また余談ですが、ipython CLI(ipythonコマンド)もIPythonが提供していました。

ipython 3.X (1).jpg

これが変わるのがIPython 4からです。

2. notebook部分がIPythonから分かれる

IPython 4 からはCLIを提供するだけとなります。
Copy of ipython 4.X.jpg
そしてnotebook部分を担うJupyterができます。
Copy of ipython 4.X (1).jpg
「え、じゃぁ、IPythonとJupyterって今はなんの関係もないの?」
かというとそうではなく、Pythonを処理する部分は共通モジュールがあります。ipykernelと言われています。

これを確認できるのが、例えば、pip install ipythonとかpip install jupyterとかしたあとに、pip show ipythonpip show jupyterで見てみると、どちらもipykernelに依存していることがわかります。興味があれば実行してみてください。
Copy of ipython 4.X (2).jpg

まとめ

簡単に見てきましたがここまでをまとめると、
- もともとはIPythonがnotebook機能を提供していた
- notebook部分を切り離してできたのがJupyter
- 処理部分はipykernelというモジュールがあり、IPythonもJupyterも共通で使っている
となります。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5