小编典典

如何在 requirements.txt 中声明一个直接的 github 源

all

我已经使用命令安装了一个库

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协议说明符的链接,所以可能只是不支持。

有人可以解决我的问题吗?


阅读 228

收藏
2022-03-06

共1个答案

小编典典

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

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

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

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

指定提交哈希(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这里不是注释,是明确说明包名

2022-03-06