Ewen Corre

2025-01-04

TIL #6 - Flexbox, python `sys.path`, git rebase au tout début d'un projet

Ce weekend sonne la fin de mes vacances, et je publie donc maintenant les petits TILs d'avant les vacances. Comme ça je peux commencer mon année professionnelle proprebment !


Flexbox en CSS

Un petit jeu rigolo pour s'entraîner avec des flexbox en CSS : https://flexboxfroggy.com/#fr.

Et on me glisse à l'oreillette (merci Lamecarlate) qu'il existe la même chose pour les grids : https://cssgridgarden.com/#fr.


sys.path pour Python

Quand Python se lance, il regarde dans a une série de dossiers pour importer les modules. Par exemple :

$ python -c "import sys;print(sys.path)"
['', '/home/ewen/.pyenv/versions/3.11.9/lib/python311.zip', '/home/ewen/.pyenv/versions/3.11.9/lib/python3.11', '/home/ewen/.pyenv/versions/3.11.9/lib/python3.11/lib-dynload', '/home/ewen/.pyenv/versions/3.11.9/lib/python3.11/site-packages']

Dans le venv de mon répertoire où j'écris ces lignes :

$ python -c "import sys;print(sys.path)"
['', '/home/ewen/.pyenv/versions/3.11.9/lib/python311.zip', '/home/ewen/.pyenv/versions/3.11.9/lib/python3.11', '/home/ewen/.pyenv/versions/3.11.9/lib/python3.11/lib-dynload', '/home/ewen/dev/site/.venv/lib/python3.11/site-packages']

(notez le dernier élément de la liste)

On peut ajouter des répertoires, par exemple le répertoire courant, en mettant quelque chose dans la variable d'environnement PYTHONPATH :

$ PYTHONPATH=. python -c "import sys;print(sys.path)"
['', '/home/ewen', '/home/ewen/.pyenv/versions/3.11.9/lib/python311.zip', '/home/ewen/.pyenv/versions/3.11.9/lib/python3.11', '/home/ewen/.pyenv/versions/3.11.9/lib/python3.11/lib-dynload', '/home/ewen/.pyenv/versions/3.11.9/lib/python3.11/site-packages']

(notez le deuxième élément de la liste)

Merci au collègue de travail qui m'a aiguillé là-dessus !


git rebase mais au tout début d'un projet

Au tout début d'un projet suivi par Git, mettons au deuxième commit, on voudrait réécrire un peu l'historique.

On peut essayer git rebase -i HEAD~2. Malheur ! Git nous répond : fatal: invalid upstream 'HEAD~2'.

En fait, on peut accéder au premier commit avec --root, comme ceci : git rebase -i --root