web-dev-qa-db-ja.com

「pip install --editable ./」と「python setup.py開発」

間に大きな違いはありますか

pip install -e /path/to/mypackage

およびsetuptoolsバリアント?

python /path/to/mypackage/setup.py develop
126
PeterE

大きな違いはありません。

pip install -eの場合:

ローカルプロジェクトの場合、「SomeProject.Egg-info」ディレクトリはプロジェクトパスに関連して作成されます。これは、現在の作業ディレクトリに直接関連する「Egg-info」を作成するsetup.py developを使用するよりも有利な点の1つです。

その他: docs

Setuptoolsの docs も読んでください。

91
sobolevn

もう1つの違い:pip install -eはwheelを使用し、python setup.py developはwheelを使用します
使用しません。

installを使用すると、次を使用して同じ動作を実現できます。
pip install -e /path/to/package --no-use-wheel

ホイールの詳細: python wheels

64
user2488286

pip install -eを好むもう1つの違いは、プロジェクトがinstall_requiressetup.pyに依存関係がある場合、pip install -e .はpipで依存関係をインストールしますが、python setup.py developeasy_installでインストールでき、上記の「Egg-info」の問題を引き起こす可能性があります。 install-requiresがEgg識別子が付加されたカスタムgit URLでdependency_linksを使用する場合、これは特に面倒な場合があります。

23
ely