繁体   English   中英

什么时候可以使用“ conda安装”,什么时候必须使用“ pip安装”

[英]When can I use “conda install” and when have to use “pip install”

我正在尝试使用conda来管理环境。 大多数时候,我可以简单地用conda install foo代替pip install foo 但是,在某些情况下(很少发生), conda install foo可能会遇到PackagesNotFoundError错误。 这是为什么?

这是一个具体的例子。 conda install pygal工作正常。 但是,它的可选依赖项pygal_maps_world (用于地图支持)之一将无法直接通过conda安装。

$ conda install pygal_maps_world

Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - pygal_maps_world

Current channels:

  - https://repo.anaconda.com/pkgs/main/osx-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/free/osx-64
  - https://repo.anaconda.com/pkgs/free/noarch
  - https://repo.anaconda.com/pkgs/r/osx-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/pro/osx-64
  - https://repo.anaconda.com/pkgs/pro/noarch
  - https://conda.anaconda.org/conda-forge/osx-64
  - https://conda.anaconda.org/conda-forge/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

我尝试根据http://www.pygal.org/en/stable/documentation/types/maps/pygal_maps_world.html进行 pip安装pygal_maps_world 然后,导出的ymal文件如下所示:

name: foo_env
channels:
  - defaults
  - conda-forge
dependencies:
  - ... some other libraries
  - zlib=1.2.11=h1de35cc_3
  - zstd=1.3.7=h5bba6e5_0
  - pip:
    - pygal-maps-world==1.0.2

看一下底部的^^^,它添加了- pip会话。 这是为什么? 我们如何确定可以通过conda直接安装哪个库,以及哪个库需要通过pip

如Anaconda的了解Conda和Pip页面中所述,Conda和Pip从不同的存储库安装。

Pip安装打包为wheel或source分发包的Python软件。
...
Conda是一个跨平台的软件包和环境管理器,可从Anaconda存储库以及Anaconda Cloud安装和管理conda软件包。 Conda软件包是二进制文件。

如果您想事先手动进行验证,则可以细读存储库

或者,如果您以编程方式安装需求,则可以将conda install包装在try / except块中,并在PackagesNotFoundError尝试使用pip install

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM