{{tag>dev python yaml}}
====== pyYAML ======
La bibliothèque pyYAML permet d'utiliser le formalise YAML dans les applications Python.
===== Installation =====
==== pip3 ====
# Crééer/activer l'environnement virtuel
source "./env/bin/activate"
# Installer le module via pip
pip3 install pyyaml
==== tarball ====
La procédure décrite ci-dessous décrit l'installation de la bibliothèque sur le système local. Il est tout à fait possible de limiter la portée au projet via l'utilisation d'un [[dev:python:environnements_virtuels|environnement virtuel python]].
Décompresser la tarball:
$ tar xvzf PyYAMAL-3.11.tar.gz
Il faudra exécuter le script **setup.py** qui installera le package sur le système local. L'utilisateur doit avoir les droits de modification sur le dossier **/usr/local/lib/python2.7/dist-packages/**. Sur mon système c'est le cas pour tous les membres du groupe **staff**
Si on ne fait pas parti du groupe ayant droits d'écriture sur le dossier:
$ sudo usermod --append -G staff yoann
$ newgrp staff
Attention à l'option **%%--append%%** qui a une grande importance. Sans elle vous ne serez plus que membre du seul groupe staff.
$ python ./setup.py --without-libyaml install
Après l'installation on peut re-basculer sur son groupe de connexion (qui correspond souvent à son login) et se retirer du groupe **staff** (principe du moindre privilège):
$ newgrp yoann
$ sudo deluser yoann staff
===== Charger un fichier YAML =====
Pour illustrer le chargement d'un fichier YAML, on crée ''config.yaml'' avec le contenu suivant:
api:
url: "https://example.com/api/v1"
port: 8443
Depuis l'interpréteur Python:
import yaml
with open('config.yaml', 'r') as file:
my_api = yaml.safe_load(file)
type(my_api)
===== Références =====
* https://python.land/data-processing/python-yaml