Когда я могу использовать «conda install» и когда нужно использовать «pip install» - PullRequest
1 голос
/ 01 июля 2019

Я пытаюсь использовать 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.

Я попытался установить pip pygal_maps_world на основе http://www.pygal.org/en/stable/documentation/types/maps/pygal_maps_world.html. А затем файл exportd 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?

1 Ответ

0 голосов
/ 01 июля 2019

Как указано на странице Общие сведения о Conda и Pip для установки Anaconda, Conda и Pip из разных репозиториев.

Pip устанавливает программное обеспечение Python, упакованное в виде колес или исходных кодов.
...
Conda - это кроссплатформенный менеджер пакетов и среды, который устанавливает и управляет пакетами conda из хранилища Anaconda, а также из облака Anaconda.Пакеты Conda являются бинарными.

Если вы хотите предварительно проверить вручную, вы можете просмотреть репозитории .

Или, если вы устанавливаете требования программно, вы можете обернуть ваш conda install в блок try / Кроме и на PackagesNotFoundError вместо этого попробуйте pip install.

...