requirements.txt に直接 github ソースを記述する方法 質問する

requirements.txt に直接 github ソースを記述する方法 質問する

コマンドを使用してライブラリをインストールしました

pip install git+git://github.com/mozilla/elasticutils.git

これはGithubリポジトリから直接インストールします。これは問題なく動作し、私はその依存関係を自分のに含めたいと思っていますrequirements.txt。私は他のチケットを見てきました。これしかし、それでは問題は解決しませんでした。

-f git+git://github.com/mozilla/elasticutils.git
elasticutils==0.7.dev

ファイルではrequirements.txtpip install -r requirements.txt次の出力が生成されます。

Downloading/unpacking elasticutils==0.7.dev (from -r requirements.txt (line 20))
  Could not find a version that satisfies the requirement elasticutils==0.7.dev (from -r requirements.txt (line 20)) (from versions: )
No distributions matching the version for elasticutils==0.7.dev (from -r requirements.txt (line 20))

要件ファイルのドキュメントプロトコル指定子を使用するリンクについては言及されていないのでgit+git、おそらくこれはサポートされていないのでしょう。

私の問題の解決策を持っている人はいますか?

ベストアンサー1

通常、requirements.txtファイルは次のようになります。

package-one==1.9.4
package-two==3.7.1
package-three==1.0.1
...

Github リポジトリを指定する場合、package-name==規則は必要ありません。

以下の例は、package-twoGitHub リポジトリを使用して更新されます。その後のテキストは@パッケージの詳細を示します。

コミットハッシュを指定します(41b95ec更新のコンテキスト内requirements.txt):

package-one==1.9.4
package-two @ git+https://github.com/owner/repo@41b95ec
package-three==1.0.1

ブランチ名を指定してください(main):

package-two @ git+https://github.com/owner/repo@main

タグを指定してください(0.1):

package-two @ git+https://github.com/owner/[email protected]

リリースを指定してください(3.7.1):

package-two @ git+https://github.com/owner/repo@releases/tag/v3.7.1

pip の特定のバージョンでは、パッケージの でパッケージ バージョンを更新する必要がありますsetup.py。そうしないと、pip は要件がすでに満たされていると想定し、新しいバージョンをインストールしません。たとえば、 を1.2.1インストールしていて、このパッケージを独自のバージョンでフォークする場合は、 で上記の手法を使用してにrequirements.txt更新できます。setup.py1.2.1.1

以下も参照VCS サポートに関する pip ドキュメント

おすすめ記事