12
votes

Gestion du PIP dans un environnement DPM

Pour nos applications Prod, nous gérons tous les forfaits en RPM. Dans un monde parfait, c'est bon, c'est bien.

Cependant, chaque langue ou cadre a récemment déployé leurs propres gestionnaires de colis. Pour Python, par exemple, je suis presque toujours à l'aide de PIP, puis à avoir à créer des packages pour RPM à nouveau lorsque vous allez à la production. Idée va pour NPM ou gemmes.

Est-ce un problème que beaucoup de gens ici sont en cours d'exécution? Quelle est la meilleure façon d'éviter tout cela? Les gens traitent-ils de cela en la suçant et tout emballage manuellement, ou y a-t-il un moyen automatisé de les intégrer?

J'aimerais entendre des pensées à ce sujet.


0 commentaires

3 Réponses :


8
votes

J'ai utilisé PYP2RPM pour construire un package RPM pour rstr module et je n'aime pas aimer les installations aléatoires de certains fichiers via pip également: xxx

mais je ne sais pas si cela est assez bon pour votre utilisation de la production.


1 commentaires

Super. Devait faire face au fait que RPM sur EL6 ne définit pas __python2 macro, mais autre que cela a fonctionné parfaitement.



1
votes

Je préfère l'installation sur une sitelib différente que le système par défaut. Par conséquent, je fais: xxx

loin de l'idéal, ne joue pas avec DNF / RPM / Yum mais en même temps ne plaisante pas avec vos modules système. Et vous pouvez les essuyer quand vous le souhaitez.


1 commentaires

.. Soyez donc prudent si vous installez des logiciels de cette façon, comme il s'agit simplement d'une pulvérisation d'une tagball sur votre boîte en termes de gestion centralisée appropriée. Et un jour qui vous rendra triste.



5
votes

Vous pouvez installer FPM: https://github.com/jordansissel/fpm

Gestion du paquet effectif! Construire des packages pour plusieurs plates-formes (Deb, RPM, etc.) avec une grande facilité et sa santé mentale. http://fpm.readthedocs.io/en/latest/ P> blockQquote>

Ensuite, vous pouvez exécuter: p>

$ fpm -s python -t rpm pyramid
no value for epoch is set, defaulting to nil {:level=>:warn}
no value for epoch is set, defaulting to nil {:level=>:warn}
Created package {:path=>"python-pyramid-1.9a2-1.noarch.rpm"}


1 commentaires

Pas de SRPM. L'absence de transparence signifie que c'est une défaillance instantanée.