2009-08-12 15 views

risposta

17

Un python egg è un "un formato di distribuzione importabile single-file". Che di solito è un pacchetto python.

È possibile importare il pacchetto nell'uovo finché si conosce il nome ed è sul percorso.

È possibile eseguire un pacchetto utilizzando l'opzione "-m" e il nome del pacchetto.

Tuttavia, i pacchetti python generalmente non eseguono nulla quando vengono eseguiti e si può ricevere un errore. L'opzione -c può essere utilizzata per eseguire il codice. (Vedere http://docs.python.org/using/cmdline.html per i dettagli sulle opzioni della riga di comando)

> python -m sphinx 
sphinx is a package and cannot be directly executed 


> python -c "import <package in an egg>; <function>();" 



> python -c "import sphinx; print sphinx.package_dir" 
C:\Python26\lib\site-packages\sphinx-0.6.1-py2.6.egg\sphinx 
14

Come di Python 2.6, è possibile utilizzare python some.egg e sarà eseguito se include un modulo di nome __main__.

Per le versioni precedenti di Python, è possibile utilizzare PYTHONPATH=some.egg python -m some module e somemodule dall'uovo verrà eseguito come modulo principale. (Nota: se siete su Windows, avresti bisogno di fare un separato SET PYTHONPATH=some.egg.)

4

Ad esempio, se si vuole importare il modulo di schiuma che è disponibile come file di .egg:

egg_path='/home/shahid/suds_2.4.egg' 

sys.path.append(egg_path) 

import suds 
#... rest of code 
+1

La domanda chiede come eseguire form dalla riga di comando - questo è come eseguire da dentro uno script python – Mark

+3

@Mark dove lo dice? La domanda chiede "Come eseguire i file egg Python direttamente senza installarli?" Questa risposta è valida. – Adham

+0

@Adham - l'esempio Java nella domanda proviene dalla riga di comando non in Java – Mark

Problemi correlati