2009-08-11 7 views
5

Jest to w pewnym stopniu powiązane z this question. Powiedzmy, że mam pakiet, który chcę wdrożyć za pomocą rpm, ponieważ muszę wykonać pewne kopiowanie plików po instalacji i mam pewne zależności nie będące pythonami, które chcę zadeklarować. Ale powiedzmy, że mam pewne zależności Pythona, które są łatwo dostępne w PyPI. Wygląda na to, że jeśli po prostu pakuję jaja, rozpakowanie, a następnie python setup.py install automatycznie zajmie się moimi zależnościami w pythonie, kosztem utraty wszelkich funkcji po instalacji i zależności innych niż pythony.przy użyciu setuptools z zależnościami poinstalacyjnymi i pythonami

Czy jest jakikolwiek zalecany sposób robienia tego? Przypuszczam, że mógłbym to określić w skrypcie przedinstalacyjnym, ale potem dostaję powielanie informacji i nie używam setuptools na nic.

(Moja obecna konfiguracja polega na przepuszczeniu install_requires = ['dependency_name'] do setup, który pracuje dla python setup.py bdist_egg i unzip my_package.egg; python my_package/setup.py install, ale nie dla python setup.py bdist_rpm --post-install post-install.sh i rpm --install my_package.rpm.)

Odpowiedz

7

myślę, że byłoby najlepiej, jeśli zależności python były dostępne jako RPM także, a zadeklarowane jako zależności w RPM. Jeśli nie są dostępne gdzie indziej, utwórz je sam i umieść w swoim repozytorium yum.

Uruchamianie instalacji PyPI jako skutku ubocznego instalacji RPM jest złe, ponieważ nie będzie obsługiwać prawidłowej deinstalacji (to znaczy odinstalowanie pakietu RPM spowoduje usunięcie pakietu, ale pozostawi zależność bez odpowiedniej procedury usuwania).

+0

O ile nie piszę odpowiedniego skryptu deinstalacji, który jest jeszcze bardziej powielony. Dobra decyzja. –

Powiązane problemy