Pip: gitからインストールするときに、dependency_linksを廃止したり、pipにrequirements.txtファイルを使用させたりしないでください

作成日 2015年04月02日  ·  3コメント  ·  ソース: pypa/pip

組織内でPythonスクリプトを配布するための軽量な方法を見つけようとすると、非推奨メッセージによって暗示されるpipの提案された状況はばかげています。

単一のパッケージをgitサーバー(ほとんどの組織が持っているもの)に_簡単に_配布できます...しかし、他のいくつかの内部パッケージに依存する可能性のあるパッケージを簡単に配布することはできません。

pipがdependency_links処理を削除すると、このスタイルの配布は完全に不可能になります。これは、これを非常に簡単にするnpmようなものとはまったく対照的です。

もちろん、暗黙的にしないでください。ただし、他の多くのgit依存関係を持つパッケージをpipインストールする1行のコマンドを同僚に送信できる簡単な方法が必要です。

理想的な解決策は、pipにgitリポジトリからのrequirements.txtファイルを処理させる方法です。これにより、リポジトリは他の要件を具体的に定義できます(これは、gitリポジトリのライブラリが確実に行うものであるため)。

パーフェクトは次のようになります。
pip install --follow-requirements git+http://my.internal.gitserver/internallibrary.git

たぶん、信頼できない要件のプロンプトを出しますか?

auto-locked

最も参考になるコメント

@dstufftこの代替品は何ですか?

プライベートGitリポジトリに保存されている2つのパッケージPackageAとPackageBと、アプリケーションアプリがあります。 アプリはPackageAに依存し、PackageAはPackageBに依存します。 アプリの要件をインストールするときに、PackageAの依存関係としてPackageBを自動的にインストールする方法が見つかりませんでした。

全てのコメント3件

依存関係のリンクは、それらの置き換え(PyPIが理解し、それらに依存するパッケージをアップロードしないように強制できる)が実装されるまで削除されません。

@dstufftこの代替品は何ですか?

プライベートGitリポジトリに保存されている2つのパッケージPackageAとPackageBと、アプリケーションアプリがあります。 アプリはPackageAに依存し、PackageAはPackageBに依存します。 アプリの要件をインストールするときに、PackageAの依存関係としてPackageBを自動的にインストールする方法が見つかりませんでした。

@connorbodeリリースでdevpiインデックスを設定する方法については、pipをインデックスとしてdevpiにポイントすることができ、依存関係リンクは必要ありません。また、作業ネットワークでpypiをミラーリング/キャッシュします。

このページは役に立ちましたか?
0 / 5 - 0 評価