【问题标题】:Exporting a conda environment with local pip installs使用本地 pip 安装导出 conda 环境
【发布时间】:2016-11-02 02:30:10
【问题描述】:

我已经用

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

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

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

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

【问题讨论】:

  • shapelybasemap 都在 conda 的社区频道 conda-forge 中提供了 conda 包。你可能更容易安装 conda 包。
  • 我不知道——这对这些包来说非常方便。不幸的是,我的公司防火墙不喜欢 conda-forge :(

标签: python windows pip development-environment conda


【解决方案1】:

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

# 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

【讨论】:

    【解决方案2】:

    据我所知,实际上无法让它自动为.whl 文件创建条目。

    最简单的方法是手动更改environment.yml 文件并将.whl 文件添加到- pip: 下的列表中。我通过下载 nose.whl 包并将其放在与我的 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 时,路径应该是有效的。

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

    - pip:
       - https://pypi.python.org/packages/15/d8/dd071918c040f50fa1cf80da16423af51ff8ce4a0f2399b7bf8de45ac3d9/nose-1.3.7-py3-none-any.whl#md5=3135984cc9cfcbe5d9c46e166d6743b0
    

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

    【讨论】:

      猜你喜欢
      • 2022-08-03
      • 2021-11-22
      • 2021-12-16
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 2020-07-17
      • 2018-01-31
      • 1970-01-01
      相关资源
      最近更新 更多