Multiple ansible versions with python virtualenv

TL;DR export ANSIBLE_VERSION=x.x.x mkdir -p ~/ansible_venv cd ~/ansible_venv python3 -m venv ansible${ANSIBLE_VERSION} source ansible${ANSIBLE_VERSION}/bin/activate pip install --upgrade pip setuptools pip install ansible==${ANSIBLE_VERSION} ansible-lint netaddr pbr hvac jmespath passlib bcrypt . ~/ansible_venv/ansible${ANSIBLE_VERSION}/bin/activate Long story Install python3-venv package: sudo apt install python3-venv Create an ~/ansible_venv directory: mkdir ~/ansible_venv From ~/ansible_venv directory, create your virtual ansible environment: e.g for ansible 2.9.16: python3 -m venv ansible2.9.16 Once this environment created, activate it: source ansible2.9.16/bin/activate You will see your shell has changed, with name of virtualenv you are currently using....

February 24, 2021 · 1 min · JC

Python, la tête dans les étoiles

Aujourd’hui, un article écrit par Kevin Samuel sous licence Creative Commons qui m’a bien aidé lors de mes débuts en python à comprendre les étoiles et notamment les fameux *f(*args, *kwargs): L’utilisation du signe étoile (*) en Python est très simple, mais certains cas sont peu intuitifs. Les nouveaux venus ont souvent besoin d’un peu plus d’explications que ce que donne la doc. Les utilisateurs d’autres langages sont généralement déroutés car ils sont habitués certaines fonctionnalités qu’on ne retrouvent pas en Python....

November 3, 2012 · 8 min · JC

Backup de jeux MegaCD

Ci-dessous un petit script python trouvé sur cette page permettant de faire un backup d’un jeu du MegaCD de Sega. Un CD est coupé en deux, il contient une partie donnée + une partie audio. Il faut donc ripper séparément les musiques et les datas. Certains jeux comme SonicCD ne peuvent fonctionner sans la musique. Pour y jouer sur PC, il suffit ensuite d’utiliser un émulateur comme Gens. #!/usr/bin/python import os import commands from sys import argv # programs SOURCE_DRIVE = "/dev/cdrom" DD_COMMAND = "/bin/dd" CDPARANOIA_COMMAND = "/usr/bin/cdparanoia --quiet" LAME_COMMAND = "/usr/bin/lame --quiet --preset insane" RM_COMMAND = "/bin/rm" if (len(argv) <2): print "USAGE: rip-sega-cd....

August 16, 2010 · 2 min · JC

Un serveur web en python

source : Linux Magazine On peut créer un petit serveur web en python. On utilise pour cela les modules BaseHTTPServer et SimpleHTTPServer. import os from BaseHTTPServer import HTTPServer from SimpleHTTPServer import SimpleHTTPRequestHandler os.chdir(os.path.expanduser("~/web")) httpd = HTTPServer(('', 8080), SimpleHTTPRequestHandler) httpd.serve_forever() La classe HTTPServer est instanciée avec 2 paramètres : le premier indique sous forme d’un tuple sur quelle adresse et quel port le serveur doit écouter. Ici la chaîne est vide ce qui signifie que l’on écoute sur toutes les adresses....

July 21, 2010 · 2 min · JC