我能否使用conda从GitHub安装/升级包?
例如,使用pip
可以执行以下操作:
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
现在,通过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,但是你可以将conda和pip包规范统一到一个单独的environment.yml
文件中。
如果您想使用此文件更新根环境,则需要将其保存到文件中(例如environment.yml
),然后运行命令:conda env update -f environment.yml
。
更有可能的情况是您想创建新的环境:
conda env create -f environment.yml
(已根据评论进行更改)
conda env create -f environment.yml
,使用 conda create
命令时,-f
标志代表 --force
。 - Dominik Stańczakconda env create
中的 -f
是指强制操作,而不是 conda create
的参数。我没有仔细阅读,所以犯了错误。 - Willconda
不支持直接安装源码,因为它是基于二进制安装的。然而,conda build
可以构建从git下载的recipes。如果您只想保持一个软件包的最新版本,使用Anaconda内部的pip或使用setup.py develop
与git克隆相结合也是不错的选择。
我在Conda问题中找到了相关参考。以下内容现在应该可行。
name: sample_env
channels:
dependencies:
- requests
- bokeh>=0.10.0
- pip
- pip:
- git+https://github.com/pythonforfacebook/facebook-sdk.git
如果你不知道其他人在做什么,那么这就是没有冗长的单行版本:
# inside a conda env
pip install git+https://github.com/Stonesjtu/pytorch_memlab.git@master
后半部分只是从GitHub Repo中复制粘贴的https-URL,附加了一个@branch
后缀。
git+git
和git+https
,以及其他协议。然而,在所有规范示例中,指定分支时都会显示.git
。 - mervpip install
来安装。这个问题是在询问如何直接使用conda
进行安装,而最佳答案提供了相关方法。 - Amelio Vazquez-Reina