Conda: Installing / upgrading directly from github
我可以使用conda从GitHub安装/升级软件包吗?
例如,使用pip我可以:
1
| pip install git+git://github.com/scrappy/scrappy@master |
直接从GitHub中的master分支安装scrappy。 我可以用conda做一些等效的事情吗?
如果这不可能,那么用conda安装pip并使用pip管理此类本地安装是否有意义?
答案已经过时了。您只需要conda安装pip和git。然后您可以正常使用pip:
激活您的conda环境source activate myenv
conda install git pip
pip install git+git://github.com/scrappy/scrappy@master
-
除此之外,您还必须使用环境中的点,例如在我的情况下,我使用的点是" / home / ubuntu / anaconda3 / envs / tensorflow_p36 / bin / pip"。在完成conda安装后会出现此提示。您可以将此bin目录添加到$ PATH中。
-
它不是" git + git",而是" git + https:// .... .git"
-
之后安装的软件包仅在master分支上吗?如果我想在合并到母版之前从分支机构测试PR,该怎么办?
-
@AntonAndreev规范同时支持git+git和git+https以及其他。但是,所有规范示例在指定分支时均会显示.git。
现在通过conda-env对此有了更好的支持。例如,您现在可以执行以下操作:
1 2 3 4 5 6 7
| 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-我编辑了答案来回答您的问题。
-
谢谢。这在Linux上对我有用。
-
您可以指向此功能的官方文档吗?
-
它实际上是conda env create -f environment.yml,带有conda create,-f标志代表--force。
-
是否记录在某处?
-
这里有一些文档,但是它没有解释pip部分(仅给出一个示例),但是它非常不言自明。您还可以将现有的conda env导出到yaml(包括pip-installs)。
-
@Perfi,那是不正确的,-f代表--file,用于指定environment.yml文件。
-
@Will刚刚检查过,这也让我感到困惑-对于conda create(其中-f表示--force并且有单独的--file标志)和conda env create(其中-f表示如您所说,并有一个单独的--force标志)。 API很奇怪,但是好的,我猜。这可能是版本问题-在此处运行conda 4.5.11。
-
@Perfi,我的错误我以为您是在暗示conda env create中的-f是指力量,而不是conda create,这是我没有仔细阅读的错误。
conda不直接支持此操作,因为它是从二进制文件安装的,而git install是从源代码安装的。 conda build支持从git构建的配方。另一方面,如果您要做的只是保持最新和最新的软件包,则在Anaconda中使用pip很好,或者替代地,对git clone使用setup.py develop。
我在condas问题中找到了对此的参考。现在应该可以进行以下操作。
1 2 3 4 5 6 7
| name: sample_env
channels:
dependencies:
- requests
- bokeh>=0.10.0
- pip:
- git+https://github.com/pythonforfacebook/facebook-sdk.git |
-
这不会添加@AronAhmadias答案中尚未存在的任何内容,这更笼统地说明了正常requirements.txt中的许多选项都可用。