Help us understand the problem. What is going on with this article?

Jupyterインストール

More than 1 year has passed since last update.

とあるきっかけでZeppelinというウェブベースのノートブックサービスの存在を知りました。恥ずかしながら、こういった「ノートブックの中でコードが実行できる」というものを全く知らなかったので、Pythonの学習記録を残すにはよいのではないかと興味を持ちました。
少し調べてみると、ZeppelinでもPython連携は可能みたいですが、よりPythonに近いものとして、Jupyterというものがある、ということで試しに導入してみました。

環境

Windows10(64bit)
Anaconda3 4.3.1(これを入れると、jupyter_core 4.3.0がインストールされる)

Anaconda導入

公式によると、Jupyterは単体でのインストールではなく、Anacondaの一部としてインストールするのが推奨のようです。
またまた不勉強ですが、Anacondaも知らなかったので調べたところ、Pythonのディストリビューションの1つで、主に数値計算、データサイエンス系のライブラリが充実しているとのこと。またCondaというパッケージ管理のソフトを含み、これを使って2.xと3.xの使い分けや仮想環境構築(virtualenv/pyenv)もカバーできるようです。
Anacondaのダウンロードはこちらから。
Windows10(64bit)環境なので、対応するインストーラを落として実行。
ちなみにもともと入っていたPython2.7,3.5はいったんアンインストールしようかと思いましたが、StackOverflowに残してよいとあったので、とりあえず残しました。

基本的にデフォルトの設定を受け入れましたが、ユーザはAll Usersにしました。
また、必要容量1.8GBには少し驚きました。

Juputer起動

インストール完了後、コマンドプロンプトにて
jupyter notebookと打てばサーバがポート8888で起動し、勝手にブラウザで立ち上がります。
ポートを変更するには、jupyter notebook --port 9999, ブラウザの立ち上げをしないのは、jupyter notebook --no-browserです。

20170327_013.jpg

実行したフォルダのファイル一覧が表示されます。新しくnotebookを作るには、New→Python3を選択(この時点ではこれしか関連付けされていないので)。
出てきたセルに適当なコードを下記、Shift + Enterすると実行されます。インデントや色分けもやってくれます。

20170327_014.jpg

別バージョンのインストール

【参考】
https://jupyter.readthedocs.io/en/latest/install-kernel.html

各インタープリタはkernelと呼ばれる。
2.7をインストールするには、conda create -n py27 python=2.7.12 ipykernel
これで、C:\ProgramData\Anaconda3\envs\py27にインストールされる。
これは、JupyterというよりAnacondaの世界の話(JupyterはAnacondaの環境を使っているだけ)なので、Jupyter関係なく、Python2.7環境を呼び出せる。
これだけではJupyterとは関連づかないので、以下のように関連付ける。

>activate py27
(py27) >python -m ipykernel install --user

これでもう一度起動すると、python2も選べる。ここで表示される名前py27となるのかと思ったらPython 2になる。環境が作られるフォルダの名前が拾われるのかな?
%APPDATA%\jupyter\kernels\python2

20170327_015.jpg

呼び出したpy27環境の停止はdeactivate py27

他のコマンドの使用

python以外のことをさせたいなら、セルに%%cmdと入れれば、windowsのコマンドプロンプトのコマンドを使えます。うまくやれば、色々統合できそう。

20170327_016.jpg

(2019/02/10追記)デフォルトディレクトリの変更

色々な方が書いていますが。少し追加が必要だったのでメモ。
anacondaをインストールすると同時にインストールされるAnaconda Terminalというアプリケーションを実行し、以下のコマンドで設定ファイルを生成、それを編集する。

(base) C:\Users\ikedak2>jupyter notebook --generate-config
Overwrite C:\Users\ikedak2\.jupyter\jupyter_notebook_config.py with default config? [y/N]y
Writing default config to: C:\Users\ikedak2\.jupyter\jupyter_notebook_config.py

c.NotebookApp.notebook_dirというパラメータを書き換える。Windowsの場合は円マークを2回続けてエスケープする必要がある点に注意。

jupyter_notebook_config.py
## The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = 'C:\\Users\\ikedak2\\Jupyter_Memo'

これだけでは変更されないので、Windowsのアプリ一覧から、Jupyter Notebookを右クリックし、ファイルの場所を開くとする。そこにJupyter Notebookのショートカットがあるので、そのプロパティを開く。自分の場合は以下。
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)

  • 「リンク先」の中で、最後に%USERPROFILE%という記述がある場合はそれを削除する。
  • 作業フォルダを指定したディレクトリに合わせる 上記2点を修正すると、無事想定通りに起動しました。

image

まとめ

これでJupyterを起動し、ノートブックごとにPython2.7,3.6を使い分けられるようになりました。

Jupyter, anaconda, ipython, condaの関係性が難しい…。
あと公式のドキュメントがものすごくたどりづらい気がする。
- Anaconda: pythonのディストリビューション(jupyterを含む)
- conda: anacondaのパッケージ管理ソフト
- ipython: pythonのシェルを拡張したもの(つまりシェル)。補完などの機能がデフォルトのシェルよりも優秀らしい。ipython notebookという、ipythonをブラウザから実行(プラスメモ)の機能をもっていたが、それが分離してjupyterとなった。
- jupyter: webベースのノートブック。バックエンドとしてipythonを使用。

すなわち、Jupyterからpythonを使う時のシェル(インターフェース)がipythonで、その全体がanacondaというディストリビューションに含まれている、という理解。
つまり、JupyterはPythonに近い、というよりほぼpythonそのものなipythonの派生だったわけです。きっかけになったzeppelinもそのうち挑戦しようと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした