J'essaie de comprendre ce que je peux/ne peux pas faire avec Jupyter.
J'ai un serveur Jupyter fonctionnant sur notre serveur interne, accessible via un réseau privé virtuel (VPN) et protégé par un mot de passe.
Je suis le seul à créer des cahiers, mais j'aimerais que certains cahiers soient visibles par les autres membres de l'équipe, en lecture seule. Idéalement, je pourrais simplement partager avec eux une URL avec laquelle ils auraient ajouté un signet lorsqu'ils voudraient voir le bloc-notes avec des données actualisées.
J'ai vu des options d'exportation, mais je ne trouve aucune mention de "publication" ou de "publication" de carnets de notes locaux. Est-ce impossible? Est-ce que c'est peut-être juste une mauvaise façon de penser à la façon dont Jupyter devrait être utilisé?
Le "meilleur" moyen de partager un bloc-notes Jupyter consiste simplement à le placer sur GitHub (et le visualiser directement) ou sur un autre lien public et à utiliser le Jupyter Notebook Viewer . Lorsque la confidentialité est plus un problème, il existe des solutions de rechange mais elle est certainement plus complexe. Jupyter est le seul moyen de faire cela, mais quelques options sont les suivantes:
GitHub et le Jupyter Notebook Veiwer utilisent tous les deux le même outil pour restituer les fichiers .ipynb
en HTML statique. Cet outil est nbviewer .
Les instructions d'installation sont plus complexes que ce que je suis disposé à expliquer ici, mais si votre société/votre équipe dispose d'un serveur partagé ne nécessitant pas d'accès par mot de passe, vous pouvez héberger nbviewer sur ce serveur et lui demander de le charger depuis votre serveur accrédité. . Cela nécessitera probablement une configuration plus avancée que celle que vous allez trouver dans la documentation.
Si vous n'avez pas nécessairement besoin de live mettre à jour le code HTML, vous pouvez configurer un script sur votre serveur accrédité, qui utilisera simplement les options d'exportation intégrées de Jupyter pour créer les fichiers HTML statiques, puis les envoyer à un serveur plus accessible au public.
Google a récemment rendu public son projet interne Collaboratory ( lien ici ). Vous pouvez démarrer un bloc-notes de la même manière que vous démarrez Google Sheet ou Google Doc, puis partagez-le simplement ou ajoutez des collaborateurs.
Pour le moment, c’est le moyen le plus simple pour moi.
La suggestion de Michael d'exécuter votre propre instance nbviewer est une bonne que j'ai utilisée par le passé avec un serveur Enterprise Github.
Une autre solution légère consiste à avoir une cellule à la fin de votre ordinateur portable qui effectue un appel Shell à nbconvert afin qu’elle soit automatiquement actualisée après avoir exécuté le tout:
!ipython nbconvert <notebook name>.ipynb --to html
EDIT: Avec Big Split de Jupyter/IPython, vous voudrez probablement le changer pour !jupyter nbconvert <notebook name>.ipynb --to html
maintenant.
Si vous utilisez kyso.io (disclaimer: j'ai fondé kyso), vous pouvez partager des cahiers en ligne facilement:
Téléchargez votre cahier ici:
Voici quelques exemples:
Cela dépend de ce que vous avez l'intention de faire avec votre bloc-notes: voulez-vous que l'utilisateur puisse recalculer les résultats ou tout simplement en jouant avec eux?
NBViewer est un excellent outil. Vous pouvez directement l'utiliser à l'intérieur Jupyter . Github a également un rendu, vous pouvez donc lier directement votre fichier (tel que https://github.com/my-name/my-repo/blob/master/mynotebook.ipynb )
Si vous souhaitez que votre utilisateur puisse recalculer certaines parties, vous pouvez également utiliser MyBinder . Il faut un certain temps pour démarrer votre ordinateur portable, mais le résultat en vaut la peine.
Comme l'a dit @ Mapl, Google peut héberger votre ordinateur portable avec Colab . Une fonctionnalité intéressante consiste à calculer vos cellules sur un GPU.
Ils peuvent ne pas paraître assez mûrs, mais vérifiez Jupyter Dashboard
https://github.com/jupyter-incubator/dashboards
https://github.com/jupyter-incubator/dashboards_server
et Thebe
Une excellente façon de procéder sur WordPress consiste à suivre les étapes suivantes:
Étape 1: Ouvrez votre carnet Jupyter dans un éditeur de texte et copiez le contenu qui pourrait ressembler à ceci: Votre fichier .ipynb peut ressembler à ceci lorsqu'il est ouvert dans un éditeur de texte
Étape 2: Ctrl + A et Ctrl + C ce contenu. Puis Ctrl + V ceci à un Gist Git que vous devez créer.
Étape 3: Créez un Gist public et intégrez le Gist comme vous intégrez toujours les gènes sur WordPress, à savoir, accédez à l'éditeur HTML et ajoutez le même comme suit:
[Gist gist_url]
J'ai effectivement implémenté cela sur mon blog. Vous pouvez trouver le message ici
Une autre façon d'atteindre cet objectif serait d'utiliser JupyterHub .
Avec JupyterHub, vous pouvez créer un concentrateur multi-utilisateurs qui génère, gère et met en proxy plusieurs instances du serveur de cahiers Jupyter mono-utilisateur. En raison de sa flexibilité et de ses options de personnalisation, JupyterHub peut être utilisé pour servir de cahiers à une classe d’étudiants, à un groupe informatique ou à un groupe de recherche scientifique.
sur CoCalc vous pouvez télécharger votre fichier ipynb et collaborer avec d’autres en temps réel. Il existe également un moyen de publier les fichiers sous forme de fichiers HTML statiques, mais vous pouvez également inviter les membres de votre équipe à participer à votre projet et travailler sur le fichier tout en observant ce qui se passe. Il y a aussi une discussion en côté pour parler du contenu.
www.zepl.com est un hub de data science notebook. (disclaimer. Je suis co-fondateur de ZEPL) Vous pouvez connecter votre Github ou S3 avec des fichiers .ipynb et obtenir