2009-08-12 12 views

Respuesta

17

Un python egg es un "un formato de distribución pueden importar un solo archivo". Que es típicamente un paquete de Python.

Puede importar el paquete en el huevo, siempre que sepa su nombre y esté en su camino.

Puede ejecutar un paquete utilizando la opción "-m" y el nombre del paquete.

Sin embargo, los paquetes de python generalmente no hacen nada cuando se ejecutan, y puede obtener un error. La opción -c se puede usar para ejecutar código. (Ver http://docs.python.org/using/cmdline.html para obtener más información sobre las opciones de línea de comandos)

> 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

A partir de Python 2.6, puede utilizar python some.egg y se ejecutará si incluye un módulo denominado __main__.

Para versiones anteriores de Python, puede usar PYTHONPATH=some.egg python -m some module, y somemodule desde el huevo se ejecutará como el módulo principal. (Nota: si estás en Windows, que había necesidad de hacer una por separado SET PYTHONPATH=some.egg.)

4

Por ejemplo, si desea importar el módulo de espuma que está disponible como archivo .egg:

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

sys.path.append(egg_path) 

import suds 
#... rest of code 
+1

La pregunta es cómo ejecutar desde la línea de comandos: esta es la forma de ejecutar desde dentro de un script de Python – Mark

+3

@Mark, ¿dónde dice eso? La pregunta es "¿Cómo ejecutar archivos de Python directamente sin instalarlos?" Esta respuesta es valida – Adham

+0

@Adham: el ejemplo de Java de la pregunta no proviene de la línea de comandos de Java – Mark

Cuestiones relacionadas