JupyterLabでも好きな外部エディターを使いたい!
JupyterLab内蔵のEditorはいまのところオートコンプリートが効かないので、つかえねーよという方も多いかと思うんだけど、JupyterLabのエディターにどうやってオートコンプリートつけるかはいろいろ議論中らしいですなぁ。正式版ではどうなるのだろうか。
Notebook内のCellの編集でオートコンプリートできるのは、Notebook起動した時点で専用のプロセスがもう起動しているが、エディターにはまだPythonのプロセスが走ってない状態がありえるから同じ方法ではできないし("Create Console for Editor"するまではまだない)、どのバージョンのPythonなのかとかいろいろ不確定な要素もあるし、良い仕様を模索している感じかなぁ。個人的には#!/usr/bin/env
とかがあれば、そこにあるインタプリターつかって、それ以外はJupyterが走っているPythonをデフォルトにするとかでいいじゃないかとかおもっちゃうが。その辺、Sublime Textはどう処理しているのだろう。。。
しかし、ちょっと試したところ下に書いたようにただ単にファイルを好きな外部エディターで開いて編集してしまって、JupyterLabのエディターで保存しようとするとRevertするかOverwriteするかきかれるのでRevertすればいいと判明。あとはIPythonコンソールをJupyterLabから開いて%run
マジック使って実行する場合、最新のファイルの内容で実行されるので、JupyterLabのエディターを最新のバッファーに保つ意味はないようなので、こまめにRevertするような必要はなさそうだし、これでいっか。
さらに、SSH接続した場合でもOKだった。試したのはウィンドウズでX11 forwardingに定評があるらしいMobaXterm経由で同一ネットワーク上のLinuxマシンへとSSHして、そこからsubl
コマンドでLinuxサーバー上でSublime Text起動し、GUIをウィンドウズ7へX11 forwardingし、JupyterLabで制作したファイルを開いて編集したら、Sublimeでした編集がJupyterLabへと反映されたし、その逆もできることを確認した。JupyterLabのエディターでした変更はただ単にCtrl+Sでセーブすれば一瞬でSublime側にも反映されるが、Sublimeでした変更はJupyterLabのエディターへいって保存しようとするとファイルに変更があったから[Revert]するか[Overwrite]するか聞かれるのでRevertを選択してリロードすることになるので2つほど操作が余計なのが残念。これってJupyter側でエディターの設定でリロード設定を変えられないだろうか?あとでチェックしておこう。
MobaXterm + SublimeText + JupyterLab はワタシ的にはかなり素晴らしかった。MobaXtermがX11 forwardingをだいぶ高速化しているっぽい。
Linux Mint 18マシンからssh -X 192.168.1.100
で同様にX11 forwardingしてみるとSublimeの描画が非常に遅いので、-C
オプションをつけるとXセッションのコンプレッションがされて高速化されて、MobaXtermとあまり変わらない速度になった。快適。
MintのsshでもMoboXtermと同じでJupyterLabのエディターで保存しようとしてRevertしないといけないが、一応使えた。もっといい方法がないかとは思うがしばらくはこれで行くか。
追記) Get xpra to work on Ubuntu 14.04を参照して、xpra v2.2.6でもできたので覚書。
サーバーにSSHして、
xpra start :1234 --start-child=subl --no-notification --no-pulseaudio
してサブライム起動。
クライアントサイド(Linux Mint18)のxpra launcherを起動して、SSHを選択。IPのあと、ポート番号:ディスプレイ番号を入力して接続。上の場合は、22:1234となる。
xpraの方が速いと言われているが速さ的にはsshでコンプレッションしたのと変わらない気がする。。。しかし、xpraなら切断してからセッションに再接続できるのがやはり便利だ。
Sublimeどうしても使いたいのでなければ、普通にsshしてからtmuxが簡単か。nanoかvimでも覚えようかな。
« ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。 | トップページ | やねうら王MyShogiをLinuxでビルドしてみた »
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
« ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。 | トップページ | やねうら王MyShogiをLinuxでビルドしてみた »
コメント