使用本地pip安装导出conda环境

时间:2016-06-30 06:35:12

标签: python windows pip development-environment conda

我已使用

导出了当前活动的环境
conda env export > environment.yml

这非常方便,因为它跟踪conda和pip安装的包。但是,我有一些软件包(例如,整体和底图)由来自Christoph Gohlke的Windows编译软件包的.whl文件中的pip本地安装。当我尝试通过

重建我的环境时
conda env create -f environment.yml

pip返回错误,因为它无法在索引中找到这些包(显然)。有没有办法在conda导出步骤中告诉pip在哪里查找这些本地包?可以假定.whl文件与environment.yml文件位于同一目录中。

2 个答案:

答案 0 :(得分:10)

实际上没有办法让它根据我的意识自动创建.whl文件的条目。

实现此功能的最简单方法是手动更改environment.yml文件,并在.whl下的列表中添加- pip:文件。我通过下载.whl的{​​{1}}包并将其放在与我的nose文件相同的目录中来尝试此操作,结构如下所示:

env.yml

如果它位于不同的目录中,则只提供该目录。当然,在发布name: python3_test dependencies: - openssl=1.0.2h=1 - pip=8.1.2=py35_0 - python=3.5.1=5 - readline=6.2=2 - setuptools=23.0.0=py35_0 - sqlite=3.13.0=0 - tk=8.5.18=0 - wheel=0.29.0=py35_0 - xz=5.2.2=0 - zlib=1.2.8=3 - pip: - nose-1.3.7-py3-none-any.whl 时,该路径应该有效。

运行conda create env时发出的pip命令是pretty straightforward install,因此从命令行使用pip进行安装的语义应该类似。哎呀,您甚至可以在conda env create -n <name> -f <file.yml>中为url文件添加.whl,安装仍然会顺利进行。再次,保持其余部分相同并使用网址下载requirements.yml

nose

使用任何网址不应导致任何问题。

答案 1 :(得分:1)

这是一个environment.yml的一个具体示例,它使用URL链接到Christoph Gohlke为Windows编译的包中的wheel文件:

# run: conda env create --file environment.yml
name: test-env
dependencies:
- python>=3.5
- anaconda
- pip
- pip:
  - http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl

参考:https://stackoverflow.com/a/35245610/1493069