Javaでjarファイルを実行できるので、Python Eggファイルを直接実行することは可能ですか?
たとえば、Javaを使用すると、次のようになります。
$ Java -jar jar-file
A python Egg は、「単一ファイルのインポート可能な配布形式」です。これは通常、pythonパッケージです。
パッケージの名前とパスがわかっている限り、パッケージをEggにインポートできます。
「-m」オプションとパッケージ名を使用してパッケージを実行できます。
ただし、pythonパッケージは通常、実行時に何も実行せず、エラーが発生する可能性があります。-cオプションを使用してコードを実行できます。-- http:// docs .python.org/using/cmdline.html コマンドラインオプションの詳細)
> 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
Python 2.6以降では、python some.Egg
を使用でき、__main__
という名前のモジュールが含まれている場合に実行されます。
Pythonの以前のバージョンでは、PYTHONPATH=some.Egg python -m some module
を使用でき、Eggのsomemodule
がメインモジュールとして実行されます。 (注:Windowsを使用している場合は、別のSET PYTHONPATH=some.Egg
を実行する必要があります。)
たとえば、.Eggファイルとして利用できるsudsモジュールをインポートする場合:
Egg_path='/home/shahid/suds_2.4.Egg'
sys.path.append(Egg_path)
import suds
#... rest of code
Python Eggファイルの直接実行ステップ
以下のコマンドで実行するEggファイルとドライバーファイルがあるとします。
PYTHONPATH=eggfilename.Egg python driverfile.py
pythonコードを含むEggファイルをインストールしない場合の上記のコマンド。