web-dev-qa-db-ja.com

`pip install -e`の使用例は何ですか

ペットプロジェクトの1つで作業する必要があるときは、通常どおりリポジトリを複製し(git clone <url>)、必要なものを編集し、テストを実行し、setup.pyバージョンを更新し、コミット、プッシュ、ビルドしますパッケージをPyPIにアップロードします。

pip install -eを使用する利点は何ですか?使用すべきですか?ワークフローはどのように改善されますか?

これが役立つ場合、私が現在パッケージ化してPyPIに送信しているが、pip install -eを使用したことのない2つのペットプロジェクトを以下に示します。 1つは純粋なPythonで、もう1つはDjangoパッケージです。

pip install -eを使用すると、プロジェクトのワークフローまたは構造はどのように改善されますか?

22
jpmelos

pip install -e .を使用してパッケージを実行し、そのファイルからプロジェクトの他のモジュールをインポートする場合は、実際にpython package.pyを使用すると便利です。コマンドはそれらを見つけやすくします!

それは何ですか:

  • site-packages/PackageName.Egg-linkファイルをインストールします
  • site-packages/easy-install.pthにパスを追加します
  • オプションで<venv>/binにCLIターゲットをインストールします

前の2つのうちのいずれかで十分であり、後者はコマンドラインユーティリティを開発するときに便利です。

17
jpmelos

pip install -e は、pipを介したsetuptools依存関係の処理方法です。通常は、依存関係をインストールします。

  • git clone URL
  • cd project
  • pip install -e .またはpip install -e .[dev] *を実行します

そして今、すべての依存関係をインストールする必要があります。

*[dev]はsetup.pyの要件グループの名前です


Setuptools(Egg)以外に python installation のホイールシステムもあります。これらのシステムは両方とも、ビルドとコンパイルが実行されないという約束に基づいています。

2
prosti