Серьезно, я понятия не имею, что случилось. Мой минимальный рабочий пример (Windows 10 Pro, с административным доступом, обновлено по состоянию на 2019-11-06):
- Свежая установка самой последней MiniConda (я использовал «все пользователи»)
- .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
позволяет заменить подушку в хорошо сформированной среде.