35

Javaでjarファイルを実行できるように、Pythonの卵ファイルを直接実行することは可能ですか?

たとえば、Java では次のようにします。

$ java -jar jar-file
4

4 に答える 4

18

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
于 2009-08-12T07:05:03.050 に答える
16

Python 2.6python some.egg以降では、 という名前のモジュールが含まれている場合に使用でき、実行されます__main__

以前のバージョンの Python では、 を使用できPYTHONPATH=some.egg python -m some modulesomemodule卵から がメイン モジュールとして実行されます。(注: Windows を使用している場合は、別の を実行する必要がありますSET PYTHONPATH=some.egg。)

于 2010-05-24T16:08:31.717 に答える
6

たとえば、.egg ファイルとして利用可能な suds モジュールをインポートする場合:

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

sys.path.append(egg_path)

import suds
#... rest of code
于 2013-03-19T10:37:48.210 に答える