Проблема с палочкой и призраком на PyCharm

Итак, я установил Wand, Ghostscript, ImageMagick. Я пытаюсь конвертировать PDF в изображение. Мой код выглядит следующим образом.

Код:

from wand.image import Image
image_pdf = Image(filename="/<fullpath>/xyz.pdf", resolution=500)
image_jpeg = image_pdf.convert('jpeg')
print (len(image_jpeg.sequence))

Когда я запускаю код через терминал (я имею в виду открыть терминал Python и вставить код туда), это работает. Но тот же код не работает в PyCharm.

Ошибка:

File "/usr/local/lib/python2.7/site-packages/wand/resource.py", line 222, in raise_exception
raise e
wand.exceptions.DelegateError: FailedToExecuteCommand `'gs' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r500x500'  '-sOutputFile=/var/folders/61/7q0vknr92mndbbgzqvsk3xl4r4yw3f/T/magick-24738xypZ5LDqNaTJ%d' '-f/var/folders/61/7q0vknr92mndbbgzqvsk3xl4r4yw3f/T/magick-24738Tr70PW391Vdt' '-f/var/folders/61/7q0vknr92mndbbgzqvsk3xl4r4yw3f/T/magick-24738wI4q1Lv6Aich'' (1) @ error/pdf.c/InvokePDFDelegate/292
Exception TypeError: TypeError("object of type 'NoneType' has no len()",) in <bound method Image.__del__ of <wand.image.Image: (empty)>> ignored

Я проверил версию Python в терминалеwhich python2 и я получаю /usr/local/bin/python2

Мой PyCharm Pythton Interpreter находится по адресу /usr/local/Cellar/python/2.7.13_1/....

Что мне здесь не хватает?

2 ответа

Вы должны изолировать вашу среду Python от вашей системы Python (и да, ваша установка Homebrew также будет считаться установкой системы Python) с помощью virtualenvwrapper,

Из того, что я вижу, Python, который использует ваша система, не тот Python, который использует PyCharm. Хотя это можно исправить, перейдя в Настройки> Project Interpreter и выбрав правильный путь для вашего переводчика...

введите описание изображения здесь

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

Проблема заключалась в том, что, поскольку PyCharm не запускался через Терминал, он не собирал все переменные пути и, следовательно, не смог найти требуемые зависимости (я предполагаю, что GhostScript может быть отсутствующим депо здесь)

Поэтому, когда я запустил PyCharm из терминала, он работал.

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