web-dev-qa-db-ja.com

pythonプロジェクトのwheel / Eggとすべての依存関係を構築します

社内でpythonプロジェクトをステージングするには、インストール可能なディストリビューションを作成する必要があります。

これには次のものが含まれます。

  • 私のプロジェクトの卵またはWHL
  • プロジェクトのすべての依存関係のEggまたはwhl
  • (オプション)このリリースのすべてのインストール可能なコンポーネントをリストしたrequirements.txtファイルを作成します

1つのホイールだけでなく、そのプロジェクトのコンポーネントもコンパイルする簡単なプラグイン(たとえば、bdist_wheelの代替品)はありますか?

明らかにこれをスクリプト化できますが、より少ないステップでパッケージと依存関係を構築するショートカットがあることを望んでいました。

これは、Windows + Linux上のPython 2.7で動作する必要があります。

37
Salim Fadhley

パッケージのsetup.pyファイルを作成する必要があります。最新のsetuptoolsとpipがインストールされていることを確認してください。次に、次を実行します。

python setup.py bdist_wheel

これにより、パッケージのホイールファイルが作成されます。これは、C/C++ヘッダー、DLLなどがないことを前提としています。もしそうなら、おそらくもっとやるべきことがあるでしょう。

依存関係を取得するには、requirements.txtファイルを作成し、次を実行します。

pip wheel -r requirements.txt

パッケージがPyPIにない場合、このコマンドが作成するwheelフォルダーにパッケージのwheelファイルを手動でコピーする必要があります。詳細については、次の優れた記事を参照してください。

40
Mike Driscoll

最新のpipwheelを使用すると、単純に実行できます

pip wheel .

アプリケーションがPyPiにない場合でも、プロジェクトフォルダー内で。すべてのホイールは./wheelhouseに保存されます。しかし、試してみると、依存関係の1つが失われ、手動でビルドする必要がありました。理由はわかりません。

29
jtpereyda