Jupyter not defterlerini programcı olmayanlarla nasıl paylaşabilirim? [kapalı]


167

Jupyter ile yapabileceğim / yapamayacağım şeyler etrafında başımı sarmaya çalışıyorum.

Dahili sunucumuzda çalışan, VPN ve şifre korumalı bir Jupyter sunucum var.

Aslında not defteri oluşturan tek kişi benim, ancak not defterlerini diğer ekip üyelerine salt okunur bir şekilde görünür yapmak istiyorum. İdeal olarak ben sadece onlarla yenilenmiş veri ile görmek istediklerinde yer imleri olacak bir URL paylaşabilirsiniz.

Dışa aktarma seçeneklerini gördüm ancak "yayınlama" veya "herkese açık" yerel canlı not defterlerinden bahsedemiyorum. Bu imkansız mı? Jupyter'in nasıl kullanılması gerektiğini düşünmek yanlış bir yol olabilir mi?


5
Görünüşe göre .ipynbdosyaları GitHub'a
jonrsharpe

4
Ancak gizli tutmak için hesaplar için ödeme yapmamız gerekir.
xav

Yani onların tamamen halka açık olmasını istemiyor musunuz? Yalnızca yerel halka yönelikse, neden sunucuya erişemiyorlar?
jonrsharpe

2
Anlaşılmadıysa özür dilerim. Dizüstü bilgisayarlara sunucuda hizmet etmek istiyorum (sadece ekip görebiliyor), ancak mümkünse Jupyter örneğinin şifresini veya düzenleme haklarıyla başka bir erişim yolunu vermekten kaçınmak istiyorum.
xav

4
belki sadece gizli bir gist oluşturabilirsiniz ( gist.github.com ) "Gizli gists , arama motorlarından gizlenir, ancak URL'yi verdiğiniz herkes tarafından görülebilir." birinin github hesabı bile yok. hızlı.
tagoma

Yanıtlar:


78

Bir Jupyter not defterini paylaşmanın "en iyi" yolu, sadece GitHub'a (ve doğrudan görüntülemeye) veya başka bir genel bağlantıya yerleştirmek ve Jupyter Not Defteri Görüntüleyicisini kullanmaktır . Gizlilik daha çok bir sorun olduğunda, alternatifler vardır ama kesinlikle daha karmaşıktır; bunu sadece Jupyter'da yapmanın yerleşik bir yolu yoktur, ancak birkaç seçenek vardır:

Kendi nbviewer'ınızı barındırın

GitHub ve Jupyter Notebook Veiwer, .ipynbdosyaları statik HTML'ye dönüştürmek için aynı aracı kullanıyorlar , bu araç nbviewer .

Kurulum talimatları buraya gitmek istediğimden daha karmaşık ancak şirketinizin / ekibinizin şifre erişimi gerektirmeyen paylaşılan bir sunucusu varsa, o sunucuda nbviewer'ı barındırabilir ve kimlik bilgisi sunucunuzdan yüklemeye yönlendirebilirsiniz . Bu, muhtemelen dokümanlarda bulacağınızdan daha gelişmiş bir yapılandırma gerektirecektir.

Dağıtım komut dosyası ayarlama

Canlı güncelleme HTML'sine ihtiyacınız yoksa , kimlik bilgisi sunucunuzda, statik HTML dosyaları oluşturmak ve daha halka açık bir sunucuya göndermek için Jupyter'in yerleşik dışa aktarma seçeneklerini kullanacak bir komut dosyası ayarlayabilirsiniz.


Ayrıca, nbviewer'a doğrudan nbviewer.jupyter.org adresinden erişebilir ve dosyanızı ekleyebilirsiniz
guhur

Jupyter Notebook Görüntüleyici tam teşekküllü GitHub repo gerek sizi tutumlu çok uz içinde statik defterleri verecek.
Wayne

"Dosyanızı buraya ekleyin" dosyasının, dosyayı tarayıcı dosya sisteminden yerel olarak seçmenize olanak tanıyan bir web iletişim kutusu ile yüklemeyi içermediğini unutmayın .
lucid_dreamer

29

Google kısa süre önce dahili İşbirliği projesini kamuoyuna duyurdu (bu bağlantıya bakın ). Bir not defterini Google E-Tablosu veya Google Dokümanı başlatmakla aynı şekilde başlatabilir ve ardından not defterini paylaşabilir veya ortak çalışan ekleyebilirsiniz.

Şimdilik bu benim için en kolay yol.


1
Colaboratory'nin ne kadar sezgisel ve kolay kullanılabileceğini bulmak beni şaşırttı. Bağlantıyı yalnızca görüntüleme olarak paylaşabileceğinizi ancak ziyaretçilerin kod bloklarını çalıştırmak ve parametreleri ayarlamak için "oyun alanı" modunu etkinleştirebileceğini unutmayın. çok havalı.
Timothy Lombard

Kısayolların hepsi kolabda bozuldu.
mathtick

Buradan başlayabilirsiniz: Google colab tanıtımı
cglacet

24

Michael'ın kendi nbviewer örneğinizi çalıştırma önerisi, geçmişte bir Enterprise Github sunucusuyla kullandığım iyi bir şey.

Başka bir hafif alternatif, dizüstü bilgisayarınızın sonunda nbconvert'e kabuk çağrısı yapan bir hücreye sahip olmaktır, böylece her şeyi çalıştırdıktan sonra otomatik olarak yenilenir:

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

DÜZENLEME : Jupyter / IPython'un Big Split ile bunu muhtemelen !jupyter nbconvert <notebook name>.ipynb --to htmlşimdi değiştirmek isteyeceksiniz .


12

Bu, Dizüstü Bilgisayarınızla ne yapmak istediğinize bağlıdır: Kullanıcının sonuçları yeniden hesaplamasını veya yalnızca onlarla oynamasını ister misiniz?

Statik defter

NBViewer harika bir araçtır. Doğrudan Jupyter içinde kullanabilirsiniz . Github'da ayrıca bir render vardır, böylece dosyanızı doğrudan bağlayabilirsiniz ( https://github.com/my-name/my-repo/blob/master/mynotebook.ipynb gibi )

Canlı defter

Kullanıcınızın bazı parçaları yeniden hesaplayabilmesini istiyorsanız, MyBinder'ı da kullanabilirsiniz . Dizüstü bilgisayarınızı başlatmak biraz zaman alır, ancak sonuç buna değer.

@Mapl tarafından söylendiği gibi Google, not defterinizi Colab ile barındırabilir . Güzel bir özellik, hücrelerinizi bir GPU üzerinden hesaplamaktır.


1
MyBinder , kullanıcıların etkin ( canlı ) bir dizüstü bilgisayarı kolayca başlatabilmeleri için deponuza yerleştirebileceğiniz bir rozet oluşturur , temel bir örnek için buraya bakın . Hatta rozetinizi almak için başlat düğmesinin yanındaki oka basmadan önce bir not defteri dosyasına bir yol girerek Jupyter kontrol paneline değil, doğrudan belirli bir ACTIVE not defteri sayfasına açmayı belirtebilirsiniz.
Wayne

7

Bunu WordPress'te yapmanın harika bir yolu aşağıdaki adımlardan oluşur:

Adım 1: Jupyter not defterinizi bir metin düzenleyicide açın ve aşağıdaki gibi görünen içeriği kopyalayın: .ipynb dosyanız bir metin düzenleyicide açıldığında şöyle görünebilir

Adım 2: Bu içeriği Ctrl + A ve Ctrl + C. Ardından Ctrl + V ile oluşturmanız gereken bir GitHub Gist'e gönderin.

Adım 3: Herkese açık bir özgeçmiş oluşturun ve özeti her zaman WordPress'e vizeleri gömün, yani HTML düzenleyicisine gidin ve şöyle ekleyin:

[gist gist_url]

Bunu aslında bloguma uyguladım. Yayını burada bulabilirsiniz


4

Bu hedefe ulaşmanın bir yolu da JupyterHub kullanmak olacaktır .

JupyterHub ile, tek kullanıcılı Jupyter dizüstü sunucusunun birden çok örneğini üreten, yöneten ve proxy kullanan çok kullanıcılı bir Hub oluşturabilirsiniz. Esnekliği ve kişiselleştirme seçeneklerinden dolayı JupyterHub, bir öğrenci sınıfına, kurumsal veri bilimi grubuna veya bilimsel araştırma grubuna not defterleri sunmak için kullanılabilir.

resim açıklamasını buraya girin


2
Şimdiye kadar jupyterhub sadece birçok kullanıcıya jupyter kullanma izni vermek için kullanışlıdır. Defterlerin paylaşımı ShareHub ile üzerinde çalışılıyor, ancak jupyterhub yardımcı olmuyor.
Craig

@Craig, denemek için bir şansın oldu mu? ShareHub nedir? JupyterHub'ın bu durumda yardımcı olmadığını düşündüren nedir? Başkalarının ondan öğrenebilmesi için yorumunuzu herhangi bir argümanla destekleyebilir misiniz?
Denis Rasulev

@Craig I ikinci "Denis Rasulev" in isteği. ShareHub herhangi bir anlamlı sonuç döndürmez ve yorumunuzun geri kalanı şifrelenir.
lucid_dreamer

Nasıl bu çözüm karşılaştırıldığında nasıl @Denis mybinder.org ? Herhangi bir yorum?
lucid_dreamer

@ user1712447, fikir harika görünüyor ama ben "boşluk yok" hatası her zaman örnekleri ile hiç şansım yoktu. Yani sana bir şey söyleyemem. Yanında, burada tartışmak, imho, biraz konu dışı gibi görünüyor.
Denis Rasulev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.