首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ssh或https从私有git安装pip requirements.txt。

使用ssh或https从私有git安装pip requirements.txt。
EN

Stack Overflow用户
提问于 2022-07-08 14:27:03
回答 1查看 717关注 0票数 0

目前,在我的requirements.txt文件中,我可以通过以下方式之一包含来自私有github的包:

git+https://github.com/<repo-name>@<version>

git+ssh://git@github.com/<repo-name>@<version>

但是,我不想强制执行安装程序连接到github (ssh或https)的方式。是否有一种方法可以泛泛地列出这个repo/包,以便这两种连接方式都能在pip install -r requirements.txt命令中工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-08 20:05:09

我几乎可以肯定,这对于pip来说是不可能的,因为一般来说,Git并没有提供一种方法来做到这一点。

仅仅因为GitHub为同一个存储库提供了HTTPS和SSH远程处理,并不意味着所有提供者都提供。即使主机提供商同时提供这两种服务,它们也不一定相对于每个协议的根位于相同的位置。

此外,在失败的情况下,Git不会在协议之间进行自动回退,因为不同的协议是在完全不同的代码中实现的(有时是在不同的二进制文件中实现的),并且因为不清楚在什么情况下应该出现回退。例如,如果身份验证失败,Git是否应该后退?如果不存在身份验证凭据,但需要一些凭据,那么是否应该将其退回?

一般来说,如果您提供的是公共回购(这里不是这样的),yo应该始终使用HTTPS用于GitHub,因为这是匿名的,这意味着它只会工作。对于私有存储库,我会使用您认为每个人最有可能拥有的任何东西。例如,如果您知道每个工程师都将有一个SSH密钥来访问某些系统,这可能是一个很好的选择,但是如果您知道您的开发环境安装脚本使用HTTPS,那么请使用它。

请注意,人们可以使用url.*.insteadOf重写本地实例中的URL,这可以将一种类型的URL自动写入另一种类型。我碰巧使用它来使用SSH密钥进行所有访问,因为我的组织需要有时间限制的HTTPS令牌,而且我不想处理旋转问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72912907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档