2009-08-12 3 views

Antwort

17

A python egg a "ein Single-File importierbaren Verteilungsformat" ist. Das ist normalerweise ein Python-Paket.

Sie können das Paket in das Ei importieren, solange Sie seinen Namen kennen und es in Ihrem Weg ist.

Sie können ein Paket mit der Option "-m" und dem Paketnamen ausführen.

Allerdings führen Python-Pakete im Allgemeinen nichts aus, wenn sie ausgeführt werden, und möglicherweise erhalten Sie einen Fehler. Die Option -c kann zum Ausführen von Code verwendet werden. (Siehe http://docs.python.org/using/cmdline.html Einzelheiten über Befehlszeilenoptionen)

> 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

Ab Python 2.6, Sie python some.egg verwenden können, und es wird ausgeführt, wenn es sich um ein Modul __main__ Namen enthält.

Für frühere Versionen von Python können Sie PYTHONPATH=some.egg python -m some module verwenden, und somemodule aus dem Ei wird als das Hauptmodul ausgeführt. (Hinweis: Wenn Sie unter Windows sind, möchten Sie eine separate SET PYTHONPATH=some.egg tun müssen.)

4

Zum Beispiel, wenn Sie den Schaummodul importiert werden soll, die als .egg Datei verfügbar:

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

sys.path.append(egg_path) 

import suds 
#... rest of code 
+1

Die Frage fragt, wie man von der Kommandozeile aus läuft - so läuft man innerhalb eines Python-Skripts – Mark

+3

@Mark wo sagt man das? Die Frage lautet: "Wie führe ich Python-Eizellen direkt, ohne sie zu installieren?" Diese Antwort ist gültig. – Adham

+0

@Adham - das Java-Beispiel in der Frage stammt von der Befehlszeile nicht aus Java – Mark

Verwandte Themen