Simplifiez la complexité et codez avec élégance. ——Cahier Jupyter

1. Introduction

Jupyter notebook est actuellement l'éditeur le plus populaire pour l'écriture de science des données et d'apprentissage automatique. Jutel Notebook est différent des autres éditeurs grand public dans la mesure où il est basé sur la technologie Web. Jutel Notebook fournit un environnement interactif et peut éditer du contenu au format texte enrichi (y compris les formules Markdown, Latex, etc.), ce qui rend l'édition de documents très pratique. Jutel Notebook était à l'origine uniquement destiné au langage Python, mais a maintenant été étendu à plus de 40 langues.

2. Quelques points clés en cours de route

Il ne s’agit pas ici d’une rétrospective historique détaillée. Au lieu de cela, nous soulignerons quelques jalons qui illustrent comment sont nées une série d’idées importantes qui continuent d’être pertinentes à l’heure actuelle.

Python interactif et l'écosystème scientifique Python. Jupyter a évolué à partir du projet IPython et se concentre sur l'utilisation de Python pour l'informatique interactive afin de répondre aux besoins et aux flux de travail en matière de calcul scientifique. Depuis 2001, IPython s'est engagé moralement à construire un projet entièrement open source (afin que les résultats de la recherche puissent être partagés sans barrières) et a reconnu que les caractéristiques de Python peuvent en faire un défi pour les universitaires qui facturent des logiciels informatiques. Cela signifie qu'IPython grandira avec l'écosystème scientifique Python, fournissant une « passerelle » pour utiliser NumPy, SciPy, Matplotlib, pandas et d'autres boîtes à outils puissantes. Ainsi, dès le début, nous avons trouvé une bonne division du travail : IPython peut se concentrer sur les problèmes d'interaction homme-machine, tandis que d'autres projets fournissent des structures de données, des algorithmes, de la visualisation, etc. Divers projets partagent librement du code via une structure de licence commune, permettant à chaque projet d'ajouter son propre contenu tout en travaillant ensemble pour fournir des outils permettant de créer des systèmes puissants pour les utilisateurs finaux.

Ouvrez le protocole et le format de fichier IPython Notebook. Vers 2010, après de nombreuses expériences de création de notebooks pour IPython, nous avons fait les premiers pas vers l'architecture que nous avons établie aujourd'hui. Nous souhaitons conserver la conception « expérience IPython », ce qui signifie que toutes les fonctionnalités et flux de travail du terminal IPython seront conservés, mais il fonctionnera via le protocole réseau afin que, peu importe où se trouve le client, il puisse se connecter au serveur. fournir le calcul. À l'aide de la bibliothèque réseau ZeroMQ, nous avons défini un protocole qui capture toutes les opérations que nous connaissons dans IPython, de l'exécution de code à la complétion automatique du nom d'un objet (opérations d'introspection). Cette décision, en un peu plus d'un an, a abouti à la sortie du client graphique (utilisant toujours la console Qt) et de Jupyter Notebook (alors appelé IPython) à l'été 2011. une itération (plus de détails peuvent être trouvés dans ce blog poste).

De IPython à Jupyter.  IPython Notebook a été rapidement adopté par la communauté SciPy, mais il est vite devenu évident que son architecture sous-jacente pouvait être utilisée avec n'importe quel langage de programmation interactif. Par la suite, dans un laps de temps très court, des noyaux pour d'autres langages (Julia, Haskell, R, etc.) en plus de Python ont été continuellement créés. Nous en développons nous-mêmes, mais la plupart des noyaux sont développés indépendamment par les utilisateurs de ces langages. Ce scénario d'utilisation multilingue nous oblige à valider soigneusement notre architecture pour éliminer toute dépendance inattendue sur IPython. Et en 2014, cela nous a également amené à renommer une grande partie du projet Jupyter. Le nom est inspiré de Julia, Python et R (trois langages open source pour la science des données), mais le nom représente une idée universelle qui transcende tout langage spécifique : les activités informatiques, les données et les humains comprenant, partageant et collaborer.

3. Visualisez les tendances du point de vue actuel

Les idées qui ont amené Juypter à ce point ont été intégrées dans le cadre plus large de l’informatique et de la science des données, et nous nous attendons à ce qu’elles aient un impact significatif à l’avenir. Voici six tendances que nous observons dans l’écosystème Jupyter :

1.  L’informatique interactive est déjà une chose réelle et sérieuse. L'informatique orientée données a exposé l'idée de l'informatique interactive à un plus grand nombre de praticiens. Les personnes travaillant dans le domaine du calcul scientifique sont déjà familiarisées avec ce type d'informatique interactive homme-machine via des langages de programmation tels que Matlab, IDL et Mathematica. Cependant, lorsque nous avons commencé à développer IPython au début des années 2000, ce flux de travail était encore étranger aux développeurs des domaines traditionnels du génie logiciel. Des langages tels que Python et Ruby fournissent des shells interactifs, mais leurs fonctionnalités sont limitées et il s'agit de projets expérimentaux légers plutôt que d'environnements de développement privilégiés. Lorsque la première version d'IPython est apparue en 2001, il s'agissait d'une tentative de rendre l'informatique interactive avec Python agréable pour ceux qui utilisaient Python à plein temps. Des outils tels que Jupyter, RStudio, Zeppelin et Databricks ont encore favorisé l'informatique interactive basée sur le Web. Cela permet à des millions de statisticiens, de data scientists, d'ingénieurs de données et de spécialistes de l'intelligence artificielle et de l'apprentissage automatique d'effectuer chaque jour des calculs interactifs. Les environnements de développement intégrés (IDE) traditionnels sont remplacés par des environnements informatiques interactifs : Jupyter, JupyterLab et RStudio sont des exemples remarquables de cette tendance. Parallèlement à l'informatique interactive, les éléments de base ont été formalisés, identifiés et développés : le noyau (le processus qui exécute le code), les protocoles réseau (les spécifications formelles des messages pour envoyer du code au noyau et récupérer les résultats), le interface utilisateur (qui fournit l'interface avec l'interface homme-machine du noyau) et sortie basée sur MIME (la représentation de tout type de résultat autre que du simple texte), etc.

2.  Les récits informatiques sont largement créés. Du code exécuté en direct, du texte narratif et des visualisations sont intégrés pour faciliter la narration d'histoires à l'aide de code et de données. Ce récit informatique est utilisé pour produire et partager du contenu technique dans différents contextes d'utilisateurs et d'entreprise, notamment des livres, des articles de blog, des publications universitaires évaluées par des pairs, du journalisme basé sur les données, etc. Les formats de fichiers tels que Jupyter Notebook et R Markdown codent ces récits informatiques en unités partageables et reproductibles. Cependant, la pratique du récit informatique s’est étendue bien au-delà de ces formats open source pour s’étendre à de nombreuses plateformes informatiques interactives.

3.  Programmez des informations spécifiques plutôt que des tâches généralisées. L’objectif général de l’informatique est la généralisation et l’abstraction. Le génie logiciel se concentre sur la conception de bibliothèques et d'applications unifiées pour une variété de problèmes. Avec l'essor de l'informatique interactive en tant que pratique et l'inclusion de ce processus dans le récit informatique (ce que nous appelons Literate Computing), nous avons maintenant un nouveau groupe de personnes qui utilisent des langages de programmation et des outils de développement à des fins différentes. Ils explorent les données, les modèles et les algorithmes, souvent à des fins très spécifiques, et peuvent même consacrer des efforts importants sur un seul ensemble de données, mais posent des questions complexes et trouvent des informations qui peuvent être partagées, publiées et étendues. L'omniprésence des données dans toutes les disciplines signifie que les langages et outils de programmation auront un public considérablement élargi, mais les besoins et les intérêts de ces publics sont différents de ceux des ingénieurs logiciels « traditionnels ».

4.  Adoptez les individus et les organisations multilingues. De nombreuses personnes et organisations réalisent les avantages de tirer parti des avantages de plusieurs langages de programmation lorsqu'elles travaillent avec des données. Dans un groupe de recherche ou une entreprise axé sur les données, il n'est pas rare de voir Python, R, Java et Scala tous utilisés. Cela oblige tout le monde à développer et à créer des protocoles (Jupyter Message Spécification), des formats de fichiers (Jupyter Notebook, Feature, Parquet, Markdown, SQL, JSON) et des interfaces utilisateur (Jupyter et nteract) qui peuvent s'exécuter de manière uniforme dans tous les langages et maximiser l'interopérabilité. et des outils de collaboration.

5.  Normes ouvertes pour l'informatique interactive. Il y a dix ans, l'industrie se concentrait sur la création de normes ouvertes pour Internet, telles que HTML, HTTP et leurs appareils correspondants. Aujourd’hui, nous voyons les mêmes types de normes être développées pour l’informatique interactive orientée données. Le format de fichier Jupyter Notebook est la spécification formelle d'un format de document JSON pour les récits informatiques. Markdown est la norme pour le texte narratif (bien qu'un peu douteux). La spécification de message Jupyter est un standard ouvert qui permet à tout client informatique interactif de communiquer avec n'importe quel noyau de langage. Vega et Vega-Lite sont des schémas JSON pour la visualisation interactive. Ces standards ouverts permettent à un grand nombre d’outils et de langages de fonctionner ensemble de manière transparente.

6.  Partagez les données de manière significative. Les initiatives de données ouvertes menées par les gouvernements et les organisations fournissent une riche source de données aux citoyens et aux institutions ordinaires. Ces données peuvent être utilisées pour explorer, reproduire des expériences et études antérieures et construire des services pour des tiers. Mais les données n'ont de sens que lorsqu'elles sont associées aux bons outils (Jupyter, nteract, RStudio, Zeppelin, etc.) qui permettent aux utilisateurs d'explorer ces ensembles de données et de partager leurs résultats, qui peuvent humaniser le processus d'analyse des données, qui peuvent prendre en charge la collaboration et Capacité à utiliser du contenu narratif et des visualisations pour transmettre le sens des données.

La question qui se pose alors est la suivante : toutes ces tendances traduisent-elles un schéma plus large ? Nous pensons qu’ils annoncent tous l’émergence et le développement de codes, de données et d’interfaces utilisateur conçus pour optimiser l’interaction homme-machine et la compréhension des calculs.

Dans le passé, les humains n’étaient pas autorisés à se contraindre à s’adapter aux diverses limitations des ordinateurs (réseau, mémoire, CPU, espace disque, etc.). Maintenant que ces contraintes précédentes ont été considérablement assouplies, nous pouvons profiter de l'utilisation de langages de haut niveau (Python, R, Julia) et d'interfaces réseaux riches (navigateurs web et frameworks JavaScript). Nous pouvons créer de puissants systèmes distribués à l’aide d’interfaces utilisateur bien conçues basées sur un navigateur qui nous permettent d’utiliser les ressources informatiques et les données quel que soit leur emplacement géographique. Nous pouvons désormais commencer à optimiser notre ressource la plus importante : le temps humain.

L’assouplissement de ces contraintes antérieures n’a pas déclenché par magie la création de systèmes informatiques centrés sur l’humain, mais il en a ouvert la porte. Le véritable moteur pourrait être l’explosion des données provenant de toutes les organisations et activités imaginables. Cela crée un besoin profond d’interagir avec le code et les données de manière plus significative et significative. Sans cet élan, le projet Jupyter existerait toujours, mais il serait probablement limité à une très petite communauté académique de calcul scientifique.

Les organisations doivent commencer à se concentrer sur l’élément humain lors de l’élaboration de leur stratégie de données. L’énorme succès que Jupyter peut obtenir dans certaines organisations n’est pas une décision d’achat prise par la haute direction. C'est une décision prise par les développeurs et les data scientists qui doivent consacrer du temps chaque jour à lutter avec le codage et les données. À l’avenir, les outils et systèmes qui placent l’élément humain au premier plan et donnent la priorité à la conception et à la convivialité autant qu’à la performance seront ceux qui seront réellement utilisés et largement adoptés. Nous avons développé les idées Jupyter parce que nous voulions les utiliser nous-mêmes, et nous nous appuierons sur ces idées pour aller de l'avant.

4. Installez le bloc-notes Jupyter

Bon, n'en disons pas trop. Commençons officiellement l'installation !

Tous les chemins mènent à Rome, et il en va de même pour l'installation de Jupyter .

1.installation pip

1. Déterminez si Python est installé.

Nous maintenons Windows+r enfoncés en même temps pour ouvrir la fenêtre d'exécution, entrez cmd  pour ouvrir la fenêtre de ligne de commande

 Entrez dans la fenêtre de ligne de commande. Si les informations sur Python s'affichent, Python est installé sur le système.

python --version

 Les informations python affichées par chacun peuvent être différentes. Ce que j'affiche ici est python 3.9.13.

 Si vous n'avez pas l'installation, vous pouvez utiliser Baidu vous-même. Je publierai un tutoriel d'installation détaillé de Python plus tard.

2. Si pip existe

Nous entrons dans la fenêtre de ligne de commande

pip -h

pour détecter si pip existe. Si une longue chaîne d'informations est générée, l'installation est réussie.

Si la sortie n'est pas une commande, cela signifie que pip n'est pas installé. Nous ouvrons le lien de téléchargement pip pour télécharger le programme d'installation pip.

Cliquez sur  get-pip.py  et sélectionnez Enregistrer sous, puis exécutez-le une fois le téléchargement terminé. Après l'exécution, entrez à nouveau la commande pour vérifier si l'installation a réussi.

pip -h

Après avoir installé pip, nous entrons la commande pour installer jupyter notebook

Non recommandé

pip install jupyter

 Recommandé (téléchargement du miroir Tsinghua)

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter

Entrez la ligne de commande et attendez patiemment l'installation.

 

 

Une fois l'installation terminée, entrez

jupyter notebook

 Après avoir appuyé sur Entrée, une page Web s'ouvrira automatiquement.

Lorsque cette page Web s'affiche, l'installation est réussie.

Il existe actuellement notebook7, qui nécessite une entrée en ligne de commande pour installer notebook7.

pip install notebook

2.Installation d'Anconda

Installer Anaconda

Accédez au site Web https://www.anaconda.com/official pour obtenir le package d'installation

Téléchargez l'édition personnelle - L'édition personnelle est gratuite

Installez Anaconda pour différents systèmes d'exploitation en fonction des besoins individuels

 Le processus d'installation d'Anaconda pour différents systèmes d'exploitation est similaire. Puisqu'il s'agit d'une installation relativement automatique par les installateurs, vous n'avez qu'à prêter attention à quelques étapes. Si vous avez besoin d’autres anciennes versions d’Anaconda, cliquez ici.

1. Une fois le téléchargement terminé, entrez le chemin du programme d'installation, double-cliquez sur le programme d'installation, n'utilisez pas le clic droit pour installer en mode administrateur - cela affectera les variables d'environnement, etc.

2. Cliquez sur "suivant".

3. Lisez les termes de la licence et cliquez sur « J'accepte ».

4. Sélectionnez l'option « Juste moi » (si votre ordinateur a plusieurs utilisateurs et qu'ils doivent utiliser aconda, veuillez sélectionner installé pour tous les utilisateurs, sinon les autres utilisateurs ne seront pas autorisés à l'utiliser).

5. Sélectionnez le dossier de destination dans lequel vous souhaitez installer Anaconda et cliquez sur le bouton « suivant ». Remarque : Le nom du chemin d'accès au fichier ne peut pas contenir d'espaces et ne peut être qu'en anglais et en chiffres.

6. Choisissez si vous souhaitez ajouter Anaconda à la variable d'environnement PATH. Il est recommandé de ne pas ajouter Anaconda à la variable d'environnement PATH car cela pourrait interférer avec d'autres logiciels. Utilisez plutôt le logiciel Anaconda en ouvrant Anaconda Navigator ou Anaconda Prompt à partir du menu Démarrer.

7. Choisissez si vous souhaitez enregistrer Anaconda comme Python par défaut. Sauf si vous envisagez d'installer et d'exécuter plusieurs versions d'Anaconda ou plusieurs versions de Python, acceptez les valeurs par défaut et cochez cette case.

 8. Facultatif : pour installer PyCharm pour Anaconda, cliquez sur le lien vers https://www.anaconda.com/pycharm. Ou pour installer Anaconda sans PyCharm, cliquez sur le bouton "suivant".

9. Une fois l'installation réussie, vous verrez la boîte de dialogue « Merci d'avoir installé Anaconda » :

10.Cliquez sur « Terminer » pour terminer

11. Double-cliquez pour exécuter le navigateur Anaconda. L'interface suivante apparaîtra et l'installation est terminée.

Cliquez ensuite sur Carnet et la même page Web s'ouvrira.

 5.Utilisation du notebook Jupyter

Ouvrez le terminal de ligne de commande et entrez  jupyter notebook la commande pour démarrer Jupyter Notebook.

L'interface du notebook Jupyter s'ouvrira sur la page Web.

Créez un nouveau fichier de bloc-notes. Cliquez sur le nouveau bouton dans le coin supérieur droit et sélectionnez Python3 dans le menu qui apparaît. 

Une nouvelle page Web s'ouvrira automatiquement. Il existe déjà un port d'édition de code dans la page Web.

 Nous entrons le code dans le bloc de code et cliquons sur le bouton Exécuter pour l'exécuter

Chaque fois que vous en exécutez un, un nouveau bloc de code sera automatiquement créé. Vous pouvez également cliquer manuellement sur le signe + pour en créer un nouveau.

 Pour supprimer une cellule, vous pouvez sélectionner un bloc de code et appuyer deux fois sur d pour le supprimer.

 

 Nous constaterons qu'il n'a pas de complétion de code, mais il a en fait cette fonction. Nous devons appuyer sur Tab pour activer la saisie semi-automatique

 On retrouve la fonction de sauvegarde dans fichier, qui peut être sauvegardé sous différents types de fichiers

 Choisissez-en un et il générera automatiquement le fichier, téléchargez-le simplement. Après le téléchargement, ouvrez-le (comme HTML) et affichez

6. Conclusion 

Je continuerai à mettre à jour cette série sur les éditeurs à l'avenir, merci♪(・ω・)ノ

Je suppose que tu aimes

Origine blog.csdn.net/m0_73552311/article/details/131510757
conseillé
Classement