#python #jupyter-notebook #imagemagick #wand
#python #jupyter-notebook #imagemagick #wand
Вопрос:
Я пытаюсь открыть PDF в виде изображения с помощью Wand. Если я запускаю приведенный ниже код в Jupyter Notebook, он работает нормально. Если я запускаю код как скрипт из командной строки, я получаю сообщение об ошибке. По какой-то причине модуль не загружается при запуске за пределами Jupyter Notebook. У кого-нибудь есть какие-либо предложения?
Windows
Python 3.7.2 (64-разрядный)
from wand.image import Image
with Image(filename="C:/test.pdf", resolution=300) as img:
print(type(img))
Это сообщение об ошибке:
Traceback (most recent call last):
File "C:Untitled.py", line 7, in <module>
from wand.image import Image
File "C:Usersspencer.randAppDataLocalProgramsPythonPython37libsite-packageswandimage.py", line 18, in <module>
from . import compat
File "C:Usersspencer.randAppDataLocalProgramsPythonPython37libsite-packageswandcompat.py", line 25, in <module>
abc = collections.abc if PY3 else collections
File "C:Usersspencer.randAppDataLocalProgramsPythonPython37libcollections__init__.py", line 55, in __getattr__
raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
AttributeError: module 'collections' has no attribute 'abc'
Ответ №1:
Похоже, что проблема с wand и коллекциями была исправлена 2 недели назад: https://github.com/emcconville/wand/pull/398
Попробуйте обновить установку wand: pip install --upgrade wand
Комментарии:
1. Спасибо, но, похоже, у меня есть последняя версия: Требования уже обновлены: wand в c:usersspencer.randappdatalocalprogramspythonpython37libsite-packages (0.5.1)
2. Проблема @spencerrand решена в версии 0.5.2, которая к настоящему времени должна быть выпущена и распространена.
3. Это не объясняет, почему он работает в Jupyter notebook, но не как скрипт, но вы оба были правы, заставив скрипт работать. Я обновился до 0.5.2, что и предложила Даниэль, и это сработало. Спасибо @emcconville и Даниэль за вашу помощь.
4. @spencerrand возможно, что Jupyter notebook имеет доступ к другой версии в своей среде — на этом предположении был основан мой ответ.