web-dev-qa-db-ja.com

Jupyterのノートブックをプログラマ以外の人と共有するにはどうすればよいですか?

私はJupyterでできること/できないことを頭に包み込もうとしています。

私は内部サーバーでJupyterサーバーを実行しています。VPN経由でアクセスでき、パスワードで保護されています。

私は実際にノートブックを作成しているのは私だけですが、他のチームメンバーに読み取り専用でノートブックを見えるようにしたいと思います。理想的には、更新されたデータでノートブックを見たいときにブックマークするURLを共有することができます。

私はエクスポートオプションを見ましたが、 "公開"や "公開"ローカルライブノートブックについての言及を見つけることができません。これは不可能ですか? Jupyterをどのように使うべきかについて考えるのは、おそらく間違ったやり方でしょうか。

139
xav

Jupyterノートブックを共有するための「最善の」方法は、単にそれをGitHub上に置く(そして直接見る)か、 Jupyter Notebook Viewer を使うことです。プライバシーがもっと問題になる場合は、代替手段がありますが、それは確かにもっと複雑です。Jupyterだけでこれを行うための方法が組み込まれているわけではありませんが、いくつかの選択肢があります。

自分のnbviewerをホストする

GitHubとJupyter Notebook Veiwerはどちらも.ipynbファイルを静的HTMLにレンダリングするために同じツールを使用します。このツールは nbviewer です。

インストール手順はここで説明するよりも複雑ですが、会社やチームがパスワードアクセスを必要としない共有サーバーを使用している場合は、そのサーバーでnbviewerをホストし、認証済みサーバーからロードするように指示できます。 。これはおそらくあなたがドキュメントで見つけるつもりよりもいくつかのより高度な設定を必要とするでしょう。

展開スクリプトを設定する

あなたが必ずしも live HTMLの更新を必要としない場合は、Jupyterの組み込みのエクスポートオプションを使用して静的なHTMLファイルを作成して送信するスクリプトを認証サーバーに設定できます。より公的にアクセス可能なサーバーへのそれら。

63
Michael Leonard

グーグルは最近その内部共同プロジェクトを公表した( ここにリンクする )。 Google SheetやGoogle Docを起動するのと同じ方法でノートブックを起動してから、ノートブックを共有するか共同編集者を追加することができます。

今のところ、これは私にとって最も簡単な方法です。

23
Mapl

自分のnbviewerインスタンスを実行するというMichaelの提案は、私が過去にEnterprise Githubサーバーで使った良い例です。

もう1つの軽量な方法は、nbconvertへのShell呼び出しを実行するセルをノートブックの最後に配置して、すべてを実行した後に自動的に更新されるようにすることです。

!ipython nbconvert <notebook name>.ipynb --to html

EDIT:Jupyter/IPythonのBig Splitでは、おそらくこれを!jupyter nbconvert <notebook name>.ipynb --to htmlに変更したくなるでしょう。

23
Randy

kyso.io (免責条項:私はkysoを設立しました)を使うと、ノートブックをオンラインで簡単に共有できます。

  • それはあなたがコードを表示/非表示にすることができますので、非技術的な人々がそれを読むことができます
  • インタラクティブな視覚化は、ピンぼけや陰謀のように完璧に機能します。

ここにノートブックをアップロードしてください。

https://kyso.io/upload

いくつか例を挙げます。

15
Eoin Murray

それはあなたがあなたのNotebookをどうしようとしているかに依存します:あなたはユーザーが結果を再計算することができることを望みますか?

静的ノート

NBViewer は素晴らしいツールです。 Jupyter の中で直接使うことができます。 Githubにもレンダリング機能があるので、ファイルを直接リンクできます( https://github.com/my-name/my-repo/blob/master/mynotebook.ipynb など) )

生きているノート

ユーザにいくつかの部分を再計算させたい場合は、 MyBinder を使用することもできます。ノートパソコンの起動にはしばらく時間がかかりますが、その結果はそれだけの価値があります。

@Maplが言ったように、Googleはノートブックを Colab でホストすることができます。素晴らしい機能は、GPUを介してセルを計算することです。

10
guhur

彼らは十分に成熟していないように見えるかもしれませんが、チェックアウト Jupyterダッシュボード

https://github.com/jupyter-incubator/dashboards

https://github.com/jupyter-incubator/dashboards_server

and テーベ

6
Kevin Zhu

WordPressでこれを行うための優れた方法は、次の手順で構成されています。

ステップ1:Jupyterノートブックをテキストエディタで開き、内容をコピーします。 .ipynbファイルは次のようになります。テキストエディタで開いたとき

ステップ2:Ctrl + AおよびCtrl + Cこのコンテンツ。それからCtrl + VでGitHub Gistを作成します。

Step 3:あなたがいつもWordPressに要点を埋め込むのと同じ要領で、公開要点を作成して要点を埋め込む、つまりHTMLエディタに行き、以下のように追加します。

[Gist gist_url]

私は実際にこれを私のブログに実装しました。あなたはここで投稿を見つけることができます

5
Anirudh

この目標を達成するもう1つの方法は、 JupyterHub を使うことです。

JupyterHubを使用すると、シングルユーザーJupyterノートブックサーバーの複数のインスタンスを生成、管理、およびプロキシするマルチユーザーHubを作成できます。その柔軟性とカスタマイズのオプションにより、JupyterHubは学生のクラス、企業のデータサイエンスグループ、または科学研究グループにノートブックを提供するために使用することができます。

enter image description here

4
Denis Rasulev

on CoCalc を使うと、ipynbファイルをアップロードして他の人とリアルタイムで共同作業できます。ファイルを静的なHTMLファイルとして公開する方法もありますが、チームメンバーをプロジェクトに招待し、進行状況を確認しながらファイルに取り組むこともできます。コンテンツについて話すためのサイドチャットもあります。

4
Harald Schilly

www.zepl.com はデータサイエンスノートブックハブです。 (免責事項。私はZEPLの共同創設者です。)あなたのGithubまたはS3を.ipynbファイルで接続して、

  • ノートブックのアクセス制御(公開専用URL)
  • ノートブックはGithub/S3から自動同期されました(さわやか)
  • 外観の報告(技術系以外の人向け)
  • 共有を整理するためのチームとワークスペース(チーム内で安全に共有する)
  • セルへのコメント
  • JupyterノートブックとZeppelinノートブックフォーマットの両方をサポート
3
moon