1. ホーム
  2. python

Python プロジェクト用の wheel/egg とすべての依存関係をビルドする

2023-08-12 13:18:22

質問

企業内でpythonプロジェクトを展開するために、インストール可能なディストリビューションを作成する必要があります。

これは含むべきです。

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

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

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

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

どのように解決するのですか?

とは というプロジェクトのルートにあるファイルで、依存関係やメタデータを定義することができます。 pyproject.toml :

[tool.poetry]
name = "my-project"
version = "0.1.0"
description = "some longer description"
authors = ["Some Author <[email protected]>"]

[tool.poetry.dependencies]
python = "*"

[tool.poetry.dev-dependencies]
pytest = "^3.4"

プロジェクトをホイールとしてビルドするには、以下のコマンドを実行します。 poetry build

$ poetry build

Building my-project (0.1.0)
- Building sdist
- Built my-project-0.1.0.tar.gz

- Building wheel
- Built my-project-0.1.0-py3-none-any.whl

a dist/ フォルダがプロジェクト用のホイールで作成されます。