簡體   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