Подтвердить что ты не робот

PIL: Ошибка загрузки DLL: указанная процедура не найдена

Я начал работать с изображениями на Python, и я хотел начать использовать PIL (Pillow). Чтобы установить его, я запустил pip install Pillow. При установке PIL ранее не устанавливался. Я также попытался удалить его и переустановить, а также использовать pip3 install Pillow.

Когда я запускаю его в Python, моя первая строка:

File "C:\Program Files\Python36\lib\site-packages\PIL\Image.py", line 56, in <module>
from . import _imaging as core
ImportError: DLL load failed: The specified procedure could not be found.

Я проверил каталог, и файл _imaging.cp36-win_amd64.pyd присутствует в папке PIL.

Почему это происходит, если есть необходимая DLL? Как я могу это исправить?

4b9b3361

Ответ 1

У меня тоже была проблема с Python 3.6. Я просто избежал проблемы, удалив подушку (4.1.0), а затем установив более старую версию подушки (4.0.0). Кажется, что он работает в более старой версии.

Ответ 2

Как и в ответе Шона, мне пришлось удалить (я использую Anaconda Python 3.6, BTW) с

conda uninstall pillow

Я попробовал это с PIL, но такого пакета не было. Удаление подушки также означало удаление пакетов, которые зависят от него, в моем случае "anaconda-navigator" и "scikit-image". После того, как я переустановил Pillow 4.0.0 с помощью

 conda install pillow=4.0.0

и протестировал его с помощью

python -c "from PIL import Image"

который, в случае успеха, вы не увидите сообщение об ошибке, я переустановил пакеты, которые были удалены вместе с Pillow 4.1.0.

conda install anaconda-navigator
conda install scikit-image

Ответ 3

Эта проблема также устраняется путем обновления Python до 3.6.1, в этом обсуждении GitHub.

Разница в том, что Pillow 4.1.0 был построен с Python 3.6.1, в то время как Pillow 4.0.0 был построен с Python 3.6.0.

По-видимому, у PYTHON36.DLL из Python 3.6.0 отсутствуют функции (PySlice_AdjustIndices и PySlice_Unpack), которые используются при создании с Python 3.6.1.

Решение состоит в том, чтобы перейти на Python 3.6.1.

Ответ 4

В Python сама проблема, которая подразумевает создание бинарных колес с использованием Python 3.6.1 (например, Pillow 4.1.0), не будет установлена ​​на Python 3.6.0.

Это повлияло на ряд библиотек Python.

Тем не менее, новая версия Pillow 4.1.1 работает вокруг этого, поэтому теперь вы можете обновить Pillow 4.1.1 и использовать его как с Python 3.6.0, так и с 3.6.1.

Дополнительная информация:

Ответ 5

У меня была та же проблема с anaconda 5.0.1, используя его с помощью caffe на окнах 10. Я просто сделал

conda install PIL

это сработало для меня.

Ответ 6

Это работает для меня, используя win10 и py 3.6. Просто удалите Pillow 4.1.0 pip3 удалить подушку Затем установите Pillow 4.0.0 pip3 install Pillow == 4.0.0

Ответ 7

Если вы используете Anaconda, попробуйте

conda uninstall pillow а затем pip install pillow

Пошел этот вопрос во время работы над Caffe2 на Windows 10 (Anaconda 4.5), и это сработало для меня. Здесь сообщение github по этому вопросу.