подушка conda-forge не может загрузить DLL - PullRequest
1 голос
/ 07 ноября 2019

Серьезно, я понятия не имею, что случилось. Мой минимальный рабочий пример (Windows 10 Pro, с административным доступом, обновлено по состоянию на 2019-11-06):

  1. Свежая установка самой последней MiniConda (я использовал «все пользователи»)
  2. .condarc согласно conda-forge:
 channels:
  - conda-forge
  - defaults 
 channel_priority: strict
conda create --name TEST conda активировать TEST conda установить подушку python -c "из PIL import Image"
ImportError: DLL load failed while importing _imaging: The specified
 module could not be found.

Я рву свои волосы здесь. Вещи, которые я пробовал / заметил:

  • Несмотря на использование conda-forge strict, пакеты vc и vc2015 устанавливаются из pkgs / main.
  • Я обновил с помощью базысреда, которая запускает переключение на conda-forge python. Однако базовая среда продолжает использовать vc из pkgs / main. (насколько я знаю, это правильное поведение, но из-за сбоев загрузки DLL и vc / vc2015, поступающих из репозитория, отличного от пакета, я становлюсь подозрительным).
  • Я гарантировал, что все задействованные пути, включаяосновные установки и пути установки моей среды, без пробелов.
  • Взломать conda remove pillow --force тогда pip install pillow ... работает? Это беспокоит меня, потому что я не могу понять, почему, и я не знаю, будут ли несовместимости C ниже по течению
  • Если вышеуказанные инструкции повторяются, но без переключения на conda forge, ошибки не возникает.

ПРИМЕЧАНИЕ: conda remove pillow НЕ работает с --force, потому что он принимает ВСЕ зависимые пакеты с ними в реальной среде, а также любые неиспользуемые зависимости теперь, когда эти пакеты удалены. Вышеуказанный метод с --force позволяет заменить подушку в хорошо сформированной среде.

...