Installer des paquets Python
Si vos modules Odoo personnalisés dépendent de bibliothèques Python tierces, déclarez-les dans un fichier requirements.txt à la racine de votre dépôt. Skysize le détecte et installe les paquets listés à chaque déploiement.
Ajouter un fichier requirements.txt
À la racine de votre dépôt, créez un fichier nommé requirements.txt et listez un paquet par ligne :
requests
pandas==2.2.0
numpy>=1.26
Committez et poussez :
git add requirements.txt
git commit -m "Add Python dependencies"
git push
Lors du prochain déploiement, Skysize exécute l'équivalent de pip install --user -r requirements.txt à l'intérieur du conteneur Odoo avant le démarrage du serveur, afin que les paquets soient importables par vos modules.
Comment ça fonctionne
- Le fichier est lu depuis la racine de votre dépôt (le déploiement monte la racine du dépôt dans le conteneur et y cherche
requirements.txt). Unrequirements.txtsitué dans un sous-répertoire n'est pas pris en compte. - Les paquets sont installés dans le site par utilisateur du conteneur, qui réside sur le volume persistant du déploiement, ils persistent donc entre les redémarrages.
- L'installation s'exécute à chaque déploiement (installation et mise à jour), gardant l'environnement synchronisé avec le fichier.
Remarques et limitations
- Les spécificateurs de version pip standards sont pris en charge (
==,>=,~=, etc.). Épinglez les versions pour des builds reproductibles. - Si une installation échoue, le déploiement continue avec un avertissement plutôt que de s'interrompre, consultez les logs de déploiement pour confirmer que vos paquets se sont installés correctement, et recherchez une ligne mentionnant les customer requirements.
- Retirer un paquet de
requirements.txtempêche son installation lors des déploiements futurs, mais il n'est pas activement désinstallé d'un déploiement déjà en cours d'exécution tant que ce déploiement n'est pas reconstruit. - Les paquets nécessitant des bibliothèques système ou des compilateurs pour être construits peuvent échouer à s'installer dans le conteneur. Privilégiez les wheels (pur Python ou précompilés) lorsque c'est possible.