« ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。 | トップページ | やねうら王MyShogiをLinuxでビルドしてみた »

2018年5月 2日 (水)

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するような必要はなさそうだし、これでいっか。

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」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1169291/73413243

この記事へのトラックバック一覧です: JupyterLabでも好きな外部エディターを使いたい!:

« ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。 | トップページ | やねうら王MyShogiをLinuxでビルドしてみた »

広告欄


広告欄

Amazon

  • ブログ記事にした商品のアフィ

    デジピはヤマハが音質・キータッチとも一番良いです。

    レビュー記事かいた程おすすめのワイヤレススピーカー。

    安いタブレットとして買い替えに最適

    速くKindle化して欲しい

やっつけタイムライン

はてブ

人目の訪問です。

  • follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。RSSを表示

    当ブログは超安定なLinux Mintとシンプル&スタイリッシュなElementaryOSを応援しています。







    Jenny Mayhem
2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ