Mac Python シェルコマンド プログラミング

Anaconda環境にJupyterlabをインストールして使う

時代はJupyter notebookよりJupyterLabらしい

この記事の続きです。

以前,Pythonをかじった時にはJupyter Notebookを使いました。

Jupyter Notebookはひとつのドキュメントの中に、文章、Pythonコード、実行結果をどんどん繋げて書いていけるアプリケーションです。見出し、説明、コード、実行結果、それに対する解説など、普通なら複数ファイルに分かれてしまうものを1つのドキュメント内で編集・閲覧できます。

勉強にたいへん便利だったので今回も使いたいと思いました。

Anaconda NavigatorのHomeでアプリケーションを見てみると、Jupyter Notebookと並んでJupyterLabというのがありました。

違いを調べてみると、Jupyter Notebookの上位互換の後継アプリがJupyter Labだというので、JupyterLabを入れることにしました。

Jupyter Labのインストールと起動

インストールはターミナルで行いました。以下のコマンドで入りました。

conda install jupyterlab

pipの場合はpip install jupyterlab でいいみたいです。

起動はJupyterlabだとエラーになります。

Jupyter lab という風にlabの前を半角空けます。jupyterというコマンドのサブコマンドがLabみたいです。

jupyter -hでヘルプが見られます。

起動する前に作業するディレクトリに移っておく必要があります。

また、必要に応じてcondaの環境切り替えもしておきます。

## 環境一覧
conda info -e 

## 環境の切り替え
conda activate ${env}

## 環境から抜ける
conda deactivate

起動時のディレクトリがJupyterLab上のルートディレクトリになります。アプリ上ではそこから上のディレクトリへは行けませんでした。

Jupyter lab

JupyterLabの基本操作

JupyterLabが起動すると自動的にブラウザで操作画面が開きます。

URLは http://localhost:8888/lab でした。ただ、アクセスにはトークンが必要なので他のブラウザからいきなりこのURLを打っても使えません。自動で開いたブラウザでは、いったんウインドウを閉じても再度このURLでアクセスできます。

Mac側のターミナルではJupyterサーバーのログを表示しています。

JupyterLabはブラウザで動くIDEという感じです。ファイルブラウザ、エディタ、コンソール、ターミナルが祖成っていて、ここの中だけでPythonコードを書いてできます。

Jupyter NotebookはこのIDE内で使えるドキュメント形式のひとつという扱いになっています。

ローンチャーの使い方

最初に起動したときには、図のように左にファイルブラウザ、右にローンチャーが表示されています。

ローンチャーの機能は以下の通りです。

Notebook:Jupyter Notebookを新規作成

Console:Pythonの対話型実行環境を開く

Terminal:ブラウザ上でターミナルが使えます。echo $SHELLで確認したらzshと出ましたのでMacのターミナルをリモート?で使っているのではないかと思います。
Anaconda環境では(base)環境でターミナルが開きます。複数の実行環境を作っている場合には適宜、conda activate [環境名]で切り替える必要があります。

Text File、Markdown File、Python File:それぞれのフォーマットの新規ファイルを作成します。ファイルブラウザが開いているパスに保存されます。

Show Contextual Help:ヘルプを表示してくれるみたいです。

何かを起動するとローンチャーは閉じます。ファイルブラウザ上部の「+」ボタンで新しいローンチャーを表示できます。

タブを移動する

開いているタブは自由にドラッグして移動できます。

ウインドウの縦分割、横分割のできます。ブラウザ上でこんなに自由にレイアウトできるなんてすごいですね。

テーマを変更する

SettingメニューのThemeで画面のテーマを変更できます。Darkモードにすると良い感じです。

また、エディターやコンソール、ターミナル、ノートブックのフォントサイズを変更できるのはとてもありがたいです。

Jupyter Notebookを作成する

Jupyter NotebookはローンチャーからNotebookを選んで作成します。

ノートは自動的に現在のパスに保存されます。名前はファイルブラウザ上で右クリック:Rename で変更できます。

Notebookを複数作って同時に開くこともできます。

Jupyter NotebookのセルにPythonコードを書いて実行する

Jupyter Notebookは、チャットの投稿画面のような枠(セル)にコードや文章を入力していきます。

デフォルトはコードセルです。Pythonコードを入力してshift + Enter (return)を押すと実行結果が下に表示されます。

コードを編集して再びshift+Enterを押せば実行結果も更新されます。

Anacondaの実行環境はJupyter Labを起動したターミナルと同じ環境になっているようです。

Pygameのようにブラウザ外でウインドウを開くライブラリも動きました。

ターミナルコマンドを実行する

!(エクスクラメーション)を先頭に付けるとターミナルコマンドを実行できます。

Markdownやテキストを書く

セルの種類はコード以外にMarkdownとRawがあります。

セルを選択してNotebookエディタ上部のポップアップメニューで種類を変更できます。

Jupyter NotebookのMarkdown記法は以下の通りです。HelpメニューのMarkdown Referenceでも見られます。

Markdown Referenceには"10分でできるチュートリアル" もあります。10分では終わりませんでしたがMarkdownに不慣れな人間には結構いい練習になりました。

マークの後ろには必ず半角スペースを空けます。

入力後にShift+Enterでマークダウンの解釈とレイアウトが行われます。

見出し# ## ### '#’の数によってH1〜H6に変化
段落普通に入力。空行を入れると段落が変わる。改行ひとつだけは無視される。バックスラッシュ+改行で段落内改行
リスト- ハイフン:番号無しリスト、1. 数字とピリオド:番号付きリスト(最初の数字以外は何でもよい。自動的に付け直される)
-ハイフンの前にタブを入れると階層化できる
リンク<http~~ > [TEXT](http://~~):ハイパーリンク ![TEXT](http://~~):画像リンク
引用> 段落の先頭に大なり記号
太字**text** アスタリスク2個で囲む
斜体*text* アスタリスクひとつで囲む
区切り線--- ハイフン3つ
インラインコードバッククオートひとつで囲む
コードブロックバッククオート3個の行で初めて、バッククオート3個の行で閉じる

ヘルプを掘ってみると他にもあるかもしれません。

Rawは書いたテキストがそのまま表示されます。

Pythonファイルを実行する

Pythonファイルの実行はローンチャーからターミナルを開いて、そこからpython {ファイル名}で実行するみたいです。

JupyterLabのターミナルは、デフォルトでanacondaの(base)環境が開くので、場合によってはconda activateで環境を切り替える必要があります。

また、ファイルブラウザ上にあるPythonファイルは、Notebook上で run filename.py で実行して、結果もNotebook上に表示できました。

JupyterLabを停止する

JupyterLabはサーバーなのでブラウザ上のウインドウを閉じてもサーバーは動き続けています。

サーバーも止めたい時にはJupyterLabのFileメニューからShutdownを選択します。

ちなみにJupyterLabが動いているターミナルウインドウでctrl-cを押すと

Shutdown this Jupyter server (y/[n])?

という表示が出て、サーバーを止めるかどうか聞かれます。放っておくと5秒後に元に戻ります。

もちろんターミナルウインドウを閉じてもプロセスが強制的に止まりますが、あまりやらない方が良さそうです。

そんな感じで、pythonの勉強に便利そうなJupyterLabでした。

-Mac, Python, シェルコマンド, プログラミング