web-dev-qa-db-ja.com

Python Eggファイルをインストールせずに直接実行する方法は?

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

たとえば、Javaを使用すると、次のようになります。

$ Java -jar jar-file
35
Marko Kukovec

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
17
monkut

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

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

15
PJ Eby

たとえば、.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ファイルをインストールしない場合の上記のコマンド。

0
Madhu Cheemala