Conda:直接从github安装/升级


112

我可以使用conda从GitHub安装/升级软件包吗?

例如,pip我可以这样做:

pip install git+git://github.com/scrappy/scrappy@master

scrappy直接从masterGitHub中的分支安装。我可以用conda做一些等效的事情吗?

如果这不可能,那么用conda安装pip并使用pip管理此类本地安装是否有意义?

Answers:


74

现在,对此有了更好的支持conda-env。例如,您现在可以执行以下操作:

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - "--editable=git+https://github.com/pythonforfacebook/facebook-sdk.git@8c0d34291aaafec00e02eaa71cc2a242790a0fcc#egg=facebook_sdk-master"

它仍然在后台调用pip,但是您现在可以在一个environment.yml文件中统一conda和pip软件包的规范。

如果要使用此文件更新根环境,则需要将其保存到文件中(例如environment.yml),然后运行命令:conda env update -f environment.yml

您更可能想创建一个新环境:

conda env create -f environment.yml (已按评论中的假设进行了更改)


您如何在根环境中从该环境安装需求?
滚刀

@hobs-我已编辑答案以回答您的问题。
阿隆·艾玛迪亚

1
它实际上conda env create -f environment.ymlconda create-f标志代表--force
Perfi

1
是否记录在某处?
guilhermecgs

1
@Perfi,我的错误,我还以为你在暗示-fconda env create提到的力量,而不是conda create我的错不仔细阅读。
威尔

103

答案已经过时了。您只需要conda安装pip和git。然后您可以正常使用pip:

  1. 激活您的conda环境 source activate myenv

  2. conda install git pip

  3. pip install git+git://github.com/scrappy/scrappy@master


4
除此之外,您还必须使用envs内的pip,例如在我的情况下,我使用的pip是“ / home / ubuntu / anaconda3 / envs / tensorflow_p36 / bin / pip”。在完成conda安装后会出现此提示。您可以将此bin目录添加到$ PATH中。
faizan

1
之后安装的软件包仅在master分支上吗?如果我想在合并到Master之前从分支机构测试PR,该怎么办?
Mymozaaa

1
@AntonAndreev 规范同时支持git+gitgit+https,以及其他。但是,所有规范示例.git在指定分支时都会显示一个。
Merv

4
OP中已经有很多(使用pip install)。问题是询问如何conda 直接使用顶级答案提供的方法。
阿梅利奥·瓦兹奎兹·雷纳

29

conda不直接支持此功能,因为它是从二进制文件安装的,而git install是从源代码安装的。conda build确实支持从git构建的配方。另一方面,如果您要做的只是保持最新和最新的软件包,则在Anaconda中使用pip很好,或者替代地,setup.py develop对git克隆使用。


如果您的软件包具有与之关联的发行版二进制文件怎么办?
马塞尔·拉莫斯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.