Python 从git repo分支安装pip

Python 从git repo分支安装pip,python,git,pip,Python,Git,Pip,尝试pip安装回购的特定分支。谷歌让我这么做 pip install git+https://github.com/user/repo.git@branch 分支机构的名称是issue/34/oscar-0.6,所以我安装了piphttps://github.com/tangentlabs/django-oscar-paypal.git@/issue/34/oscar-0.6但它返回了404 如何安装此分支?在url前缀git+前加前缀(请参阅): 使用pip with git+克隆存储库可能

尝试
pip
安装回购的特定分支。谷歌让我这么做

pip install git+https://github.com/user/repo.git@branch
分支机构的名称是
issue/34/oscar-0.6
,所以我安装了
piphttps://github.com/tangentlabs/django-oscar-paypal.git@/issue/34/oscar-0.6
但它返回了404


如何安装此分支?

在url前缀
git+
前加前缀(请参阅):


使用pip with git+克隆存储库可能非常慢(例如,使用测试将花费几分钟时间)。我找到的最快的东西是:GitHub和BitBucket:

pip install https://github.com/user/repository/archive/branch.zip
对于Django master来说,它变成了:

pip install https://github.com/django/django/archive/master.zip
对于Django stable/1.7.x:

pip install https://github.com/django/django/archive/stable/1.7.x.zip
对于BitBucket,其模式大致相同:

pip install https://bitbucket.org/izi/django-admin-tools/get/default.zip
在这里,主分支通常被命名为default。 这将使您的
requirements.txt
安装更快

其他一些答案提到了将要安装的软件包放入
requirements.txt
时所需的变化。请注意,使用此存档语法,不需要前导的
-e
和尾随的
#egg=blah blah
,您只需粘贴URL即可,因此您的requirements.txt如下所示:

https://github.com/user/repository/archive/branch.zip

只需添加一个额外的,如果您想在pip文件中安装它,可以这样添加:

-e git+https://github.com/tangentlabs/django-oscar-paypal.git@issue/34/oscar-0.6#egg=django-oscar-paypal

但它将另存为一个egg。

使用ssh凭据从私有repo安装的说明:

$ pip install git+ssh://git@github.com/myuser/foo.git@my_version

您使用了egg文件安装过程。 此过程支持通过
git
git+http
git+https
git+ssh
git+git
git+file
进行安装。其中一些已经提到

很好,您可以使用分支、标记或散列来安装

@Steve_K指出,使用“git+”安装可能会很慢,并建议通过zip文件安装:

pip install https://github.com/user/repository/archive/branch.zip
或者,我建议您可以使用
.whl
文件(如果存在)进行安装

pip install https://github.com/user/repository/archive/branch.whl

这是一种全新的格式,比egg文件更新。它需要控制盘和设置工具>=0.8个包。您可以在中找到更多信息。

这就像魅力:

pip3 install git+https://github.com/deepak1725/fabric8-analytics-worker.git@develop
其中:

发展:分支机构

fabric8-analytics-worker.git:Repo

deepak1725:用户

对于windows和pycharm设置:

如果您正在使用pycharm并且如果您想使用
pip3,请安装git+https://github.com/...

  • 首先,您应该从
  • 然后重新启动pycharm
  • 你可以使用pycharm终端安装你想要的东西

最好在不使用
-e
的情况下使用它。看:谢谢你的评论,非常有趣。我认为人们倾向于使用
-e
标志来避免与已经存在的包发生任何可能的冲突。我想这是一个选择的问题,如果你想要“额外的”,在片段中附加它们,就像这样:
-egit+https://github.com/tangentlabs/django-oscar-paypal.git@issue/34/oscar-0.6#egg=django oscar paypal[PDF]
注意,
-e
实际上似乎并不需要。出于某种原因,如果没有
-e
,它对我来说不起作用。
@
指定分支或提交是否是一种改进?@eugene,不,
@
之后的部分是可选的。@SalahAdDin,我不明白你所说的
树是什么意思。答案中给定的命令效果很好:用于分支,例如:
pip安装-U git+https://github.com/danreeves/wagtailgmaps@3.0.0
您也可以将类似的内容放入git+https://github.com/adiralashiva8/robotframework-metrics@将v3.1.4
导入requirements.txt,然后使用
pip install-r requirements.txt安装。这将从master branch安装标记v3.1.4。注意:从Django 1.9开始,Django附带了一个具有。皮普使用的拉链拔出器被它卡住了。一个简单的解决方法是在tar提取器工作时,用
.tar.gz
替换
.zip
。我想知道pip在克隆时是否可以通过
--depth 0
,以提高效率(安装pip的快照不需要整个git历史记录)。这也适用于提交哈希<代码>pip安装https://github.com/django/django/archive/ebaa08b.zip
感谢您指出速度差异。我没有测试和比较它们,但我相信速度差异确实存在,因为从分支安装仍然会导致下载整个repo历史记录,而从
.zip
(或
.tar.gz
)安装只会导致下载repo的快照。好的,因此,直接运行pip安装时似乎是可能的,只需要显式设置egg名称-
pip安装https://github.com/apache/incubator-airflow/archive/master.zip#egg=airflow[加密,松弛]
。另外,在我之前的评论中,临时演员之间的空格也是一个错误。但是请注意,在requirements.txt文件中,这种带有附加项的语法似乎不起作用。问题不在github中指定。archive/branch.zip的概念只适用于github。我们可以获得这方面的源代码/文档吗?我喜欢这个解决方案。我不确定在哪里找到的。@JustinRice可能是一个很好的来源。
pip3 install git+https://github.com/deepak1725/fabric8-analytics-worker.git@develop