如何在 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.txt 文件中, pip 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 协议说明符的链接,所以这可能只是不受支持。

有人能解决我的问题吗?

原文由 Alfe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

通常你的 requirements.txt 文件看起来像这样:

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

要指定 Github 存储库,您不需要 package-name== 约定。

以下示例使用 GitHub 存储库更新 package-two@# 之间的文本表示包的细节。

指定提交哈希( 41b95ec 在更新的上下文中 requirements.txt ):

 package-one==1.9.4
git+https://github.com/path/to/package-two@41b95ec#egg=package-two
package-three==1.0.1

指定分支名称( master ):

 git+https://github.com/path/to/package-two@master#egg=package-two

指定标签( 0.1 ):

 git+https://github.com/path/to/package-two@0.1#egg=package-two

指定版本( 3.7.1 ):

 git+https://github.com/path/to/package-two@releases/tag/v3.7.1#egg=package-two

注意 #egg=package-two 这里不是注释,是 明确说明包名

这篇博 文对该主题进行了更多讨论。

原文由 YPCrumble 发布,翻译遵循 CC BY-SA 4.0 许可协议

“可编辑”包语法 可用于 requirements.txt 从各种 VCS(git、hg、bzr、svn) 导入包:

 -e git://github.com/mozilla/elasticutils.git#egg=elasticutils

此外,可以指向特定的提交:

 -e git://github.com/mozilla/elasticutils.git@000b14389171a9f0d7d713466b32bc649b0bed8e#egg=elasticutils

原文由 stalk 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题