2013-05-15 20 views
5

Il mio programma Python è costituito da diversi file:Dove dovrei inserire i miei script Python in Linux?

  • l'esecuzione di script python principale
  • moduli Python in file * .py
  • file di configurazione
  • log files
  • eseguibili script di altre lingue.

Tutti questi file devono essere disponibili solo per root. Lo script principale dovrebbe essere eseguito all'avvio, ad es. via upstart.
Dove dovrei mettere tutti questi file nel filesystem di Linux?
Qual è il modo migliore per distribuire il mio programma?
pip, easy_install, deb, ...? Non ho lavorato con nessuno di questi strumenti, quindi voglio qualcosa di facile per me. La distribuzione Linux minima supportata dovrebbe essere Ubuntu.

risposta

7

Di sicuro, se questo programma deve essere disponibile solo per root, lo script python di esecuzione principale deve passare a /usr/sbin/.

I file di configurazione devono andare a /etc/ e registrare i file su /var/log/.

Altri file python devono essere distribuiti su /usr/share/pyshared/.

Gli script eseguibili di altre lingue andranno in /usr/bin/ o /usr/sbin/ a seconda che debbano essere disponibili per tutti gli utenti o solo per root.

+0

Grazie, ma come rendere automatica la posizione di tutti i file nelle directory appropriate quando fornisco l'archivio con questi file ad altre persone? Quindi le persone che ottengono il mio programma non spostano i file da soli. – George

+0

Immagino che l'opzione migliore sarà creare un pacchetto '.deb' per Ubuntu. Sarai in grado di posizionare tutti i file nelle posizioni che desideri. –

0

Se solo root deve accedere agli script, perché non inserirlo in/root /? In secondo luogo, se hai intenzione di distribuire la tua applicazione probabilmente avrai bisogno di easy_install o qualcosa di simile, altrimenti basta tar.gzare le cose se solo poche persone vi accederanno?

Tutto dipende dalla vostra scala .. pyglet, wxPython e simili hanno una base di utenti hughe .. stesso per BeautifulSoup ma ancora tar.gz la roba e basta usare setuptools per deply esso (badate, è un'altra opzione) .

Problemi correlati