setuptools / distutilsを使用してビルド後をトリガーする方法
-
07-07-2019 - |
質問
py2app / setuptoolsを使用してアプリケーションを構築しているので、アプリケーションバンドルを作成したら、distフォルダーに対していくつかのアクションを実行します。インストーラーを作成/アップロードします。
方法はありますか?インストール後のソリューションをいくつか見つけましたが、ビルド後は見つかりません
別の方法として、自分のスクリプトから「python setup.py py2app」を呼び出して実行することもできますが、setup.pyで実行できる方が良いでしょう
解決
I 昨日、同様の質問に回答しました distutils.coreのサブクラス化について。コマンド。
中核となるのは、これを行うことで準備プロセスの各段階の動作を正確に制御でき、考えられるほとんど何でもできる独自のコマンドを作成できることです。
あなたの助けになると思うので、その応答を見てください。
他のヒント
setuptoolsまたはdistutilsを使用してこれを行う方法はおそらくありますが、かなりハッキングされる可能性があります。このようなことをしたい場合は、次のツールのいずれかを使用することを強くお勧めします。
既存のすべてのsetup.pyファイルを使用できる可能性があるため、Paverはおそらく最も簡単に移行できます。
やろうとしていることを明確にしてください。
distフォルダーに対して何らかのアクションを実行します。インストーラーを作成/アップロードします。
インストーラーを作成するというのは、パッケージのディストリビューションをビルドするということですか? アップロードと言うとき、pypiへのアップロードを意味しますか?またはどこか?
インストール後のソリューションはいくつか見つかりましたが、ビルド後は見つかりません
これらのpy2appはフック/コールバックですか?
python setup.py py2app
これは、distutilsの使用方法の規則ではありません。通常は python setup.py install
です。
回答:
py2appターゲットは、インストールスクリプトを使用してパッケージ化し、Webサイトにアップロードするdistフォルダーです
編集:
したがって、setup.pyでdistutilsを使用するパッケージを作成しました。
setup.pyを実行すると、このファイルのディストリビューションが作成され、/ distフォルダーに配置されます。
ここで、ビルドしたファイルをWebサイトにアップロードします。
これを行うには、別のツールが必要です。 fabric のようなもの。
ファブリックを使用して、ビルドコマンドを実行するスクリプトを作成し、ビルドされたファイルをサーバーにアップロードできます。