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


167

私は、Jupyterでできることとできないことを頭に抱えようとしています。

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

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

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


5
.ipynbGitHubにファイルを置くことができるようです:blog.jupyter.org/2015/05/07/rendering-notebooks-on-github
jonrsharpe

4
しかし、それを非公開にしておくには、アカウントの支払いが必要になります。
xav

それで、あなたは彼らが完全に公にされてほしくありませんか?地元の人だけに限定すると、なぜサーバーにアクセスできないのですか?
jonrsharpe 2015

2
明確でない場合は申し訳ありません。サーバーでノートブックを提供したいのですが(チームだけがそれを見ることができます)、可能であれば、Jupyterインスタンスのパスワードや編集権限を持つ他のアクセス方法を提供しないようにしたいと思います。
xav

4
多分あなたは単に秘密の要旨(gist.github.com)を作成することができます「秘密の要旨は検索エンジンから隠されていますが、あなたがURLを与える誰にでも見えます。」githubアカウントさえ持っていません。速い。
タゴマ2016

回答:


78

Jupyterノートブックを共有する「最良の」方法は、単にそれをGitHubに配置して(そしてそれを直接表示する)、または他のパブリックリンクに置きJupyter Notebook Viewerを使用することです。プライバシーがより問題である場合は、代替手段がありますが、それは確かにより複雑です。Jupyterだけでこれを行う組み込みの方法はありませんが、いくつかのオプションがあります。

独自のnbviewerをホストする

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

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

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

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


あなたは上で直接アクセスすることもできますnbviewer nbviewer.jupyter.orgし、そこにファイルを追加
guhur

Jupyterノートブックビューアは、本格的なGitHubのレポを必要とするからあなたを温存、あまりに要旨内の静的ノートPCをレンダリングします。
ウェイン

「ファイルの追加」には、ブラウザのファイルシステムからローカルでファイルを選択できるWebダイアログを使用したファイルのアップロードは含まれません。
lucid_dreamer

29

Googleは最近、社内の共同プロジェクト(ここにリンク)を公開しました。GoogleスプレッドシートやGoogleドキュメントを開始するのと同じ方法でノートブックを開始し、ノートブックを共有したり、共同編集者を追加したりできます。

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


1
Colaboratoryの直感的で使いやすさに驚きました。リンクはビューとしてのみ共有できますが、訪問者は「プレイグラウンド」モードを有効にしてコードブロックを実行し、パラメータを調整できることに注意してください。とてもかっこいい。
ティモシーロンバード

ショートカットはすべてコラボで壊れています。
mathtick

ここから開始できます:Google colabの紹介
cglacet

24

独自のnbviewerインスタンスを実行するというマイケルの提案は、過去にエンタープライズGithubサーバーで使用した良い提案です。

別の軽量の代替手段は、nbconvertへのシェル呼び出しを行うセルをノートブックの最後に配置して、全体を実行した後に自動的に更新されるようにすることです。

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

編集:Jupyter / IPythonのBig Splitを使用すると、おそらくこれを!jupyter nbconvert <notebook name>.ipynb --to html今に変更する必要があります。


12

これは、ノートブックで何をしようとしているのかによって異なります。ユーザーが結果を再計算できるようにしたいですか、それとも単に再生したいですか?

静的ノート

NBViewerは優れたツールです。Jupyter内で直接使用できます。Githubにはレンダリングもあるため、ファイルを直接リンクできます(https://github.com/my-name/my-repo/blob/master/mynotebook.ipynbなど)

アライブノート

ユーザーが一部の部分を再計算できるようにしたい場合は、MyBinderを使用することもできます。ノートブックの起動には少し時間がかかりますが、結果はそれだけの価値があります。

@Maplで言ったように、Googleが持つノートPCホストすることができコラボを。優れた機能は、GPUを介してセルを計算することです。


1
MyBinderは、ユーザーがアクティブなライブ)ノートブックを簡単に起動できるようにリポジトリに配置できるバッジを作成します。基本的な例については、こちらを参照してください。バッジを取得するために起動ボタンの横にある下矢印を押す前に、ノートブックファイルへのパスを入力することで、Jupyterダッシュボードではなく、特定のアクティブなノートブックページに直接起動するように指定することもできます。
ウェイン

7

WordPressでこれを行う優れた方法は、次のステップで構成されています。

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

ステップ2: このコンテンツをCtrl + AおよびCtrl + Cします。次に、Ctrl + Vを押して、作成するGitHub Gistに移動します。

ステップ3:公開要旨を作成し、常に要旨をWordPressに埋め込むように要旨を埋め込みます。つまり、HTMLエディターに移動して、次のように追加します。

[gist gist_url]

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


4

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

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

ここに画像の説明を入力してください


2
これまでのところ、jupyterhubは、多くのユーザーにjupyterを使用するためのアクセス権を与える場合にのみ役立ちます。ノートブックの共有はShareHubで取り組んでいますが、jupyterhubは役に立ちません。
クレイグ

@クレイグ、それを試す機会はありましたか?ShareHubとは何ですか?この場合、JupyterHubは役に立たないと思いましたか?他の人がそれから学ぶことができるように、あなたはコメントを引数でサポートできますか?
Denis Rasulev 2017年

@クレイグ私は「デニス・ラスレフ」のリクエストに2度目。ShareHubは意味のある結果を返さず、コメントの残りの部分は不可解です。
lucid_dreamer 2017年

@Denisこのソリューションはmybinder.orgとどのように比較されますか?コメントは?
lucid_dreamer 2017年

@ user1712447、アイデアは素晴らしく見えますが、「スペースなし」エラーが常に発生する例には運がありませんでした。だから何も言えない。それに、ここでそれを議論しているimhoは、少し話題から外れているように見えます。
Denis Rasulev 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.