Contribute Media
A thank you to everyone who has made this possible: Read More

L'Enfer du packaging Python

Description

Scaleway est un fournisseur de cloud computing qui expose plusieurs APIs pour permette aux clients de gérer leurs infrastructures. La plupart de la stack de Scaleway est en Python : APIs, workers qui managent le hardware, gestion de la facturation, divers scripts, ... Tous ces projets ont besoin d'être développés, testés et déployés. Le packaging Python fait donc partie intégrante du quotidien de la team Scaleway. Et pourtant, de nombreux problèmes ont été rencontrés : * dépendances cycliques mal gérées par setuptools * easy_install qui ne fonctionne pas (et ne devrait pas être utilisé) * pip install -e : ne fonctionne pas (toujours) avec les namespace packages * dependency links : supprimé puis réintroduit bien que deprecated, et pourtant souvent bien pratique * pyshop : permet d'avoir un repository local. Ne respecte pas la PEP 503, ne permet pas de gérer les permissions, backend sqlite bancal * devpi : fonctionne très bien, mais usine à gaz (documentation austère et complexe) * virtualenv : --relocatable qui ne fonctionne pas, rendant plus complexe les déploiements

Details

Improve this page