是否可以从私有github存储库中使用pip安装包的版本范围?

时间:2018-01-26 14:00:50

标签: python git pip

我正在使用私有github存储库来安装包:

pip install --upgrade git+ssh://git@github.com/myuser/mypackage.git#egg=mypackage

在requirements.txt中,它看起来如下:

git+ssh://git@github.com/myuser/mypackage.git#egg=mypackage

之后,我为版本控制添加了git标签,例如:

git+ssh://git@github.com/myuser/mypackage.git@0.1.9#egg=mypackage

如何定义版本范围,例如从0.1.9到1.0.0,如下例所示:

git+ssh://git@github.com/myuser/mypackage.git@0.1.9<1.0.0#egg=mypackage

或者是否可以使用git master分支并使用pip定义版本范围,如下所述:How to pip install a package with min and max version range?

1 个答案:

答案 0 :(得分:1)

由于pip + git没有任何版本范围的空间,我将使用一种解决方法并编写一个可以执行此操作的python脚本。这不是最优雅的方式,但它会起作用,也许有人会找到更好的方法。

以下是面对同一问题的人的工作:

  1. 编写一个贯穿我的requirements.txt
  2. 的pthon脚本
  3. 使用<git-repo><version range>
  4. 提取自己的git-repos
  5. python脚本将调用子进程来获取repo的标记列表:

    git ls-remote -t <git-repo>

  6. 将python脚本中定义范围内的标签作为列表提取并取最大值

  7. 安装在给定范围内最高的提取版本