Ist es möglich, Python-Eidateien direkt auszuführen, da Sie JAR-Dateien mit Java ausführen können?Wie kann ich Python-Eizateien direkt ausführen, ohne sie zu installieren?
Zum Beispiel mit Java Sie vielleicht dos so etwas wie:
$ java -jar jar-file
Ist es möglich, Python-Eidateien direkt auszuführen, da Sie JAR-Dateien mit Java ausführen können?Wie kann ich Python-Eizateien direkt ausführen, ohne sie zu installieren?
Zum Beispiel mit Java Sie vielleicht dos so etwas wie:
$ java -jar jar-file
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
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.)
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
Die Frage fragt, wie man von der Kommandozeile aus läuft - so läuft man innerhalb eines Python-Skripts – Mark
@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
@Adham - das Java-Beispiel in der Frage stammt von der Befehlszeile nicht aus Java – Mark