Javaでjarファイルを実行できるように、Pythonの卵ファイルを直接実行することは可能ですか?
たとえば、Java では次のようにします。
$ java -jar jar-file
Pythonの卵は、「単一ファイルのインポート可能な配布形式」です。これは通常、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.6python some.egg
以降では、 という名前のモジュールが含まれている場合に使用でき、実行されます__main__
。
以前のバージョンの Python では、 を使用できPYTHONPATH=some.egg python -m some module
、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