2009-08-11 6 views
5

Questo è in qualche modo correlato a this question. Diciamo che ho un pacchetto che voglio distribuire tramite rpm perché ho bisogno di fare un po 'di copia dei file su post-installazione e ho alcune dipendenze non-python che voglio dichiarare. Ma diciamo anche che ho alcune dipendenze python che sono facilmente disponibili in PyPI. Sembra che se impacchettassi come un uovo, una decompressione seguita da python setup.py install si occuperà automaticamente delle mie dipendenze python, a spese di perdere qualsiasi funzionalità di post-installazione e dipendenze non python.utilizzando setuptools con dipendenze post installazione e python

C'è qualche modo consigliato per farlo? Suppongo di poterlo specificare in uno script di pre-installazione, ma poi sto entrando nella duplicazione delle informazioni e non sto usando veramente setuptools per gran parte di nulla.

(La mia configurazione attuale consiste nel far passare install_requires = ['dependency_name'] a setup, che lavora per python setup.py bdist_egg e unzip my_package.egg; python my_package/setup.py install, ma non per python setup.py bdist_rpm --post-install post-install.sh e rpm --install my_package.rpm.)

risposta

7

penso che sarebbe meglio se le dipendenze python erano disponibili come RPM anche, e dichiarato come dipendenze nell'RPM. Se non sono disponibili altrove, crearli da soli e inserirli nel tuo repository yum.

L'esecuzione di installazioni PyPI come un effetto collaterale dell'installazione RPM è malvagia, in quanto non supporterà la disinstallazione corretta (ad esempio disinstallando l'RPM si rimuoverà il pacchetto, lasciando però le dipendenze dietro, senza una procedura di rimozione corretta).

+0

A meno che non scriva uno script di disinstallazione corrispondente, che è ancora più duplicazione. Buona chiamata –