[Python] Come scrivere uno script da installare in /usr/bin con setup.py?

lex mlist lexmlist a gmail.com
Sab 19 Mar 2011 12:10:10 CET


Giorno a tutti,

quello che vorrei ottenere è uno script da eseguire per automatizzare alcuni
processi.
Non è conveniente spostare sempre lo script perchè potrebbe essere
utilizzato in qualsiasi directory, e quindi diverrebbe scomodo.
Non vorrei dover far settare a mano la variabile d'ambiente in cui ricercare
lo script.

Pensavo quindi di affidarmi al setup.py e all'argomento 'scripts' della
funzione setup.

Premetto  che l'ambiente deve usare Python3.x.
Ho provato a mettergli un file as-is, ma mi dà errore.
Esattamente mi dice che:

    execfile(__file__)
    NameError: name 'execfile' is not defined

Sò che nella v3 esiste solo exec...
Installando con l'opzione 'develop' il file prodotto è questo:

    #!/Users/lexor/Desktop/test/bin/python
    # EASY-INSTALL-DEV-SCRIPT: 'test==0.1','testdev.py'
    __requires__ = 'test==0.1'
    from pkg_resources import require; require('test==0.1')
    del require
    __file__ = '/Users/lexor/Desktop/test/test/scripts/testdev.py'
    execfile(__file__)


Ho provato a dare una occhiata al file  generato e ho modificato execfile
con exec. Ma poi mi viene a dare un errore tipo:

Traceback (most recent call last):
  File "/Users/lexor/Desktop/test/bin/testdev.py", line 7, in <module>
    exec(__file__)
  File "<string>", line 1
    /Users/lexor/Desktop/test/test/scripts/testdev.py
    ^
SyntaxError: invalid syntax

Avete qualche guida che spiega come creare uno di questi script? Ho guardato
la doc di distutils ma non spiega come crearli, solo come installarli...
Meglio se per py3, ma mi accontento anche di una versione vecchissima purchè
sia applicabile :s

Grazie a tutti, e auguri a tutti i papà della lista.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20110319/507433ed/attachment.html>


Maggiori informazioni sulla lista Python