{{tag>dev python jupyter}}
====== Jupyter notebook ======
Le nom Jupyter vient de la contraction des 3... ia, **Pyt**hon et **R**. L'extension d'un fichier notebook produit par Jupyter est **.pynb** pour **IPy*... === Installation =====
L'installation de jupyter notebook est détaillée dans le wiki [[dev:python:jupyter-notebook:install| installer jupyter notebook]].
=====
{{tag>software python jupyter jupyterlab notebook install docker todo}}
====== Installer Jupyter via Do... =
Il existe plusieurs images, la version ''scipy-notebook'' inclus des packages populaires de l'écosyst... e Python:
<code bash>
docker pull jupyter/scipy-notebook:python-3.9.6
docker run --rm -p 10000:8888 -e... B=yes -v "${PWD}":/home/jovyan/work jupyter/scipy-notebook:python-3.9.6
</code>
===== Authentification
n}}
====== Python: introduction ======
Quelques notes à propos des spécificités du langage Python basé... la mémoire
* langage interprété et EDI divers (notebooks IDLE etc)
===== Droits et licences =====
P... es noms sont sensibles à la casse de caractère.
<note>
Prendre l'habitude de nommer correctement ses va... tomatique de la documentation à partir du code.
</note>
Par convention les variables sont en minuscules
riables commençant par un blanc souligné ''_''.
<note>
Cette pratique n'est pas recommandée en producti... s avoir a taper une liste importante d'imports.
</note>
==== from <module_name> import <name> as <alt_n... port est exécutée
>>> bar()
arg = corge
</code>
<note>
Python 3 n'autorise pas la syntaxe ''import *'' depuis une fonction
</note>
Pour finir un bloc **try** permet au code appel
{{tag>dev python jupyter notebook}}
====== Jupyter Notebook ======
Un notebook est un environnement web interactif proposant un mélange de texte et de code po... ement virtuel:
<code bash>
python -m venv jupyter-notebook
</code>
Activation de l'environnement, mise
us dossier ''./migrations/versions'' du projet.
<note>
Le dossier ''./migrations'' doit être ajouté à v... ision comme les autres sources de votre projet.
</note>
A ce stade, le script existe mais n'a pas été a... x fonctions : ''upgrade()'' et ''downgrade()''.
<note warning>
Les scripts de migration sont générés au... est donc recommandé de vérifier le code généré.
</note>
Si on affiche le contenu de la base on peut vér
er ce nouveau document en l'ajoutant à l'index.
<note>
* La page doit contenir au moins un titre pour... 'indentation en s'alignant sous les paramètres.
</note>
<file txt hello.rst>
Hello World
===========
... URL `mon titre <https://example.com>`_
</file>
<note warning>
* Attention aux guillemets arrières ;
... ace avant ''<'' ;
* Attention à l'underscore;
</note>
Pour la création d'un lien externe, on peut fai
lors transmis à l'interpréteur pour execution.
<note>
En général, on utilise cet entête uniquement sur... eur : on parle de point d'entrée (entry point).
</note>
<note>
Le **shebang** est est interprété seulement par les systèmes GNU/Linux.
</note>
La note concernant les erreurs obtenues lorsque
tions pouvant être levées par un seul bloc try.
<note warning>
En Python on peut définir une close **ex... uites par le code sans y réagir spécifiquement.
</note>
De manière générale on capture toujours les exc... r le diagnostic du problème dans le programme.
<note>
Une bonne pratique est de capturer les exception... s les plus appropriées à l'origine du problème.
</note>
Pour connaître la liste des exceptions pouvant
Paul a 12 ans.
</code>
<note>
Au sein d'une f-string la section entre accolade... ésultat est utilisé pour remplir les accolades.
</note>
Via une **f-string** et la fonction **format** ... mple. Voir section [[#expressions_regulieres]].
<note>
La raw-string désactive l'interprétation des **'... *'\'** pour qu'il n'y ait pas d'interprétation.
</note>
==== Formatage dans un print ====
La fonction
l'objet créé en mémoire il ne sera pas modifié.
<note>
Il est important d'appréhender les spécificités ... de dictionnaires et tuple unpacking notamment).
</note>
Un tuple est généralement défini par une paire ... ', 'b', 'c')
>>> (42, '!')
(42, '!')
</code>
On notera tout de même que les parenthèses sont facultati... tuple
>>> t2 = '4',
>>> type(t2)
tuple
</code>
<note warning>
Comme montré ci-dessus, pour un tuple si
nt
# Paquetage flask
FLASK_APP="gcomp"
</file>
<note>
Pour que les fichiers .env soient chargés, le paquetage **python-dotenv** doit être installé.
</note>
===== Édition du script activate =====
Insérer... exister
deactivate
printenv FLASK_APP
</code>
<note>
Cette solution reste locale. En cas de déploieme... en général l'environnement virtuel est recréé.
</note>
===== Utiliser le Dockerfile =====
Si Docker e
ppProject
flask --app myapp run --debug
</code>
<note>
Si le fichier est nommé ''app.py'' ou ''wsgi.py'... l'argument ''%%--app%%'' n'est pas nécessaire.
</note>
<note>
Pour éviter de préciser systématiquement l'argument ''%%--app%%'' on peut également définir la variable d'environnement ''FLASK_APP''.
</note>
===== Démarrage de l'application Flask =====
idget.connect(sig_name, func, func_data)
</code>
<note>
La méthode ''GObject.connect'' retourne un iden... ésactiver temporairement le contrôleur définit.
</note>
Où func est la fonction de rappel de la forme:
... e python>
def func(self, widget, data)
</code>
<note>
La signature de la fonction de rappel donnée ici... pourra être différente selon le widget utilisé.
</note>
Les étapes générales d'utilisation de pygtk se
aire à la gestion de cet environnement virtuel.
<note>
Notons que le script ou le programme Python qui ... simplement être activé avant appel du script.
</note>
Parmi les options disponibles à la création de... tivate
</code>
===== Dépannages =====
Quelques notes de troubleshooting autour des environnements vir