PythonのEggファイルについて質問があります。
Pythonパッケージごとに整理されたコードがあり、Eggファイルを作成しようとしています。 instructions に従っていますが、非常に一般的です。
それによると、setup.pyファイルが必要なようです。
Java -jar <jar file>
のように解凍せずにコードを開始することができますか?間違ったドキュメントを読んでいます。これが必要です: https://setuptools.readthedocs.io/en/latest/setuptools.html#develop-deploy-the-project-source-in-development-mode
Setup.pyの作成については、Pythonの標準ライブラリドキュメント here のdistutilsドキュメントで説明されています。主な違い(python eggs)の場合)はimport setup
from setuptools
ではなく、distutils
から。
うん。それは正しいはずです。
そうは思いません。 pyc
ファイルは、バージョンとプラットフォームに依存します。 Eggを開いて(Zipファイルにするだけで).py
残されたファイル.pyc
ファイルですが、推奨されません。
よく分かりません。それが「開発モード」かもしれません。または、「py2exe」または「py2app」モードを探していますか?
#4の場合、アプリのjarファイルでJavaを開始するのに最も近いものは、Python 2.6、 executable Zip filesおよびディレクトリ 。
python myapp.Zip
Myapp.Zipは、実行されるスクリプトファイルとして実行される__main__.py
ファイルを含むZipです。パッケージの依存関係もファイルに含めることができます。
__main__.py
mypackage/__init__.py
mypackage/someliblibfile.py
Eggを実行することもできますが、呪文はそれほど素敵ではありません。
# Bourn Shell and derivatives (Linux/OSX/Unix)
PYTHONPATH=myapp.Egg python -m myapp
rem Windows
set PYTHONPATH=myapp.Egg
python -m myapp
これにより、myapp.EggがPythonパスに置かれ、-m引数を使用してモジュールが実行されます。myapp.Eggは次のようになります。
myapp/__init__.py
myapp/somelibfile.py
そしてpythonは__init__.py
を実行します(コマンドラインで使用するには、アプリで__file__=='__main__'
を確認する必要があります)。
Eggファイルは単なるZipファイルなので、Zipツールを使用して__main__.py
をEggに追加し、python 2.6で実行可能にし、python myapp.Egg
のように実行できる場合がありますPYTHONPATH環境変数が設定されている上記の呪文の代わりに。
Shebang を使用して直接実行可能にする方法など、実行可能なZipファイルの詳細については、 Michael Foordのテーマに関するブログ投稿 を参照してください。
配布には、今ではEggではなく python wheels を使用すべきだと思います。
ホイールはpythonディストリビューションの新しい標準であり、eggを置き換えることを目的としています。pip> = 1.4およびsetuptools> = 0.8でサポートが提供されます。