Ho un semplice script python, che importa vari altri moduli che ho scritto (e così via). A causa del mio ambiente, il mio PYTHONPATH è piuttosto lungo. Sto anche usando Python 2.4.Come creare un singolo file python da più script
Quello che devo fare è in qualche modo impacchettare il mio script e tutte le dipendenze che non fanno parte del python standard, in modo da poter inviare un singolo file a un altro sistema dove voglio eseguirlo. So che la versione di destinazione di Python è la stessa, ma è su Linux dove sono su Windows. Altrimenti userei py2exe.
Idealmente, mi piacerebbe inviare un file .py che in qualche modo incorpori tutti i moduli richiesti, ma mi accontento di creare automaticamente un file zip che posso semplicemente decomprimere, con i moduli richiesti il tutto in un'unica directory.
Ho dato un'occhiata a varie soluzioni di packaging, ma non riesco a trovare un modo adeguato per farlo. Ho perso qualcosa?
[modifica] Mi sembra abbastanza poco chiaro in quello che sto cercando. Praticamente sto cercando qualcosa come py2exe che produrrà un singolo file (o 2 file) da un determinato script python, includendo automaticamente tutti i moduli importati.
Per esempio, se ho i seguenti due file:
[\foo\module.py]
def example():
print "Hello"
[\bar\program.py]
import module
module.example()
e corro:
cd \bar
set PYTHONPATH=\foo
program.py
allora funzionerà. Quello che voglio è essere in grado di dire:
magic program.py
e finire con un singolo file, o forse un file e una zip, che posso quindi copiare per linux ed eseguire. Non voglio installare i miei moduli sul sistema Linux di destinazione.
Penso che tu stia cercando un [pacchetto] (http://docs.python.org/tutorial/modules.html#packages) (questo è ciò che Drahkar sta descrivendo nella sua risposta). Vedi [questo] (http://stackoverflow.com/questions/4155914/how-to-create-a-python-2-x-package-simple-case) domanda e l'eccellente risposta accettata. – Chris
Possibile duplicato di [Comprimere i file Python in un singolo script .py] (http://stackoverflow.com/questions/4368040/packing-python-files-into-a-single-py-script) –