Conda не устанавливает pdfplumber

Я пытаюсь использовать miniconda3 для установки pdfplumber. Я все время получаю это сообщение об ошибке и не знаю, как его интерпретировать.

      (env1) C:\Users\engineer>conda install -c conda-forge pdfplumber
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions
Note that strict channel priority may have removed packages required for satisfiability.

Также:

      (env1) C:\Users\engineer>conda info

 active environment : env1
active env location : C:\tools\miniconda3\envs\env1
        shell level : 2
   user config file : C:\Users\engineer\.condarc  populated config files : C:\Users\engineer\.condarc
      conda version : 4.10.3
conda-build version : not installed
     python version : 3.8.10.final.0
   virtual packages : __cuda=10.2=0
                      __win=0=0
                      __archspec=1=x86_64
   base environment : C:\tools\miniconda3  (writable)
  conda av data dir : C:\tools\miniconda3\etc\conda   conda av metadata url : None
       channel URLs : https://conda.anaconda.org/conda-forge/win-64
                      https://conda.anaconda.org/conda-forge/noarch
                      https://repo.anaconda.com/pkgs/main/win-64
                      https://repo.anaconda.com/pkgs/main/noarch
                      https://repo.anaconda.com/pkgs/r/win-64
                      https://repo.anaconda.com/pkgs/r/noarch
                      https://repo.anaconda.com/pkgs/msys2/win-64
                      https://repo.anaconda.com/pkgs/msys2/noarch
      package cache : C:\tools\miniconda3\pkgs
                      C:\Users\engineer\.conda\pkgs
                      C:\Users\engineer\AppData\Local\conda\conda\pkgs
   envs directories : C:\tools\miniconda3\envs
                      C:\Users\engineer\.conda\envs
                      C:\Users\engineer\AppData\Local\conda\conda\envs
           platform : win-64
         user-agent : conda/4.10.3 requests/2.26.0 CPython/3.8.10 Windows/10 Windows/10.0.18363
      administrator : False
         netrc file : None
       offline mode : False

Использование pip не вариант, поскольку он абсолютно не будет работать за моим корпоративным прокси, тогда как miniconda3 будет.

1 ответ

Нет ImageMagick для win-64

Еще один случай, когда Конда не умеет определять проблемы с неудовлетворительностью. Мамба прекрасно с этим справляется, определяя, что imagemagickпакет недоступен для платформы win-64 :

      $ CONDA_SUBDIR="win-64" mamba create -dn foo -c conda-forge pdfplumber

                  __    __    __    __
                 /  \  /  \  /  \  /  \
                /    \/    \/    \/    \
███████████████/  /██/  /██/  /██/  /████████████████████████
              /  / \   / \   / \   / \  \____
             /  /   \_/   \_/   \_/   \    o \__,
            / _/                       \_____/  `
            |/
        ███╗   ███╗ █████╗ ███╗   ███╗██████╗  █████╗
        ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
        ██╔████╔██║███████║██╔████╔██║██████╔╝███████║
        ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
        ██║ ╚═╝ ██║██║  ██║██║ ╚═╝ ██║██████╔╝██║  ██║
        ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚═╝  ╚═╝

        mamba (0.15.2) supported by @QuantStack

        GitHub:  https://github.com/mamba-org/mamba
        Twitter: https://twitter.com/QuantStack

█████████████████████████████████████████████████████████████


Looking for: ['pdfplumber']

bioconda/win-64          [====================] (00m:00s) No change
pkgs/main/noarch         [====================] (00m:00s) Done
pkgs/r/win-64            [====================] (00m:00s) Done
pkgs/r/noarch            [====================] (00m:00s) No change
pkgs/main/win-64         [====================] (00m:00s) Done
bioconda/noarch          [====================] (00m:01s) Done
conda-forge/noarch       [====================] (00m:01s) Done
conda-forge/win-64       [====================] (00m:02s) Done
Encountered problems while solving:
  - nothing provides imagemagick needed by wand-0.5.6-py_0

Возможное решение

Он должен работать, чтобы установить ImageMagick изначально в вашей системе и убедиться, что он доступен из командной строки. Затем вы можете создать среду с принудительно установленным пакетом, единственным пакетом, который зависит от ImageMagick.

Вот шаги по созданию среды (называемой my_env ниже, но назовите его как хотите):

      ## create the environment with python (I think you can use 3.6+)
conda create -n my_env python=3.9

## force-install "wand"
conda install -n my_env --no-deps wand=0.6.5

## install pdfplumber
conda install -n my_env pdfplumber

## try using the environment
conda activate my_env

Дополнительные замечания

Не нужен ImageMagick. Технически ImageMagick, похоже, используется только для функции «Визуальная отладка» pdfplumber . Если вам это не нужно, вы можете вообще отказаться от установки ImageMagick. Я проверил (на osx-64 ), что указанная выше среда без ImageMagick может запускать как пример CLI, так и первый пример API Python из документации pdfplumber.

Используйте изолированную среду. Поскольку принудительная установка может быть опасной (прочтите conda install --help на --no-deps flag), я настоятельно рекомендую создать для этого специальную среду, как показано выше.

Зачем приколоть версию? Я указал версию для wand потому что это поможет предотвратить попытки Conda изменить его в будущем при обновлении.

Мамба классная. Очень рекомендую использовать Мамбу. Это простая установка:

      conda install -n base -c conda-forge mamba

тогда просто используйте mamba всякий раз, когда вы обычно набираете conda (за исключением conda activate и conda deactivate команды).

Другие вопросы по тегам