Ответ 1
Это работает для меня на Ubuntu. Он отображает изображение с помощью Imagemagick. Попробуйте следующее:
sudo apt-get install imagemagick
Я запускаю python script, но он не отображает изображение.
У меня есть изображение apple.jpg в каталоге с этой программой, и он должен показывать изображение, но это не так. Вот код:
#!/usr/bin/env python
from PIL import Image
Apple = Image.open("apple.jpg")
Apple.show()
Моя ОС - Ubuntu, и эта программа просто завершается без каких-либо ошибок.
Это работает для меня на Ubuntu. Он отображает изображение с помощью Imagemagick. Попробуйте следующее:
sudo apt-get install imagemagick
Я знаю, это старый вопрос, но вот как я его исправил в Ubuntu, если кто-то имеет такую же проблему и не хочет устанавливать imagemagick (что в любом случае не устраняет основную причину проблемы).
Средство просмотра по умолчанию для Ubuntu можно запустить с помощью команды "eog" в терминале. Подушка, по умолчанию, выполняет поиск только команд "xv" и "display" , последний из которых предоставляется imagemagick. Поэтому, если вы установите imagemagick, вызов "display" действительно откроет изображение. Но почему бы не использовать зрителя, который у нас уже есть?
Код Python для открытия средства просмотра можно найти в lib/python3.4/site-packages/PIL/ImageShow.py(или эквивалент вашей установки Python). Прокрутите вниз до строки # 155 и найдите блок кода, говорящий:
class DisplayViewer(UnixViewer):
def get_command_ex(self, file, **options):
command = executable = "display"
return command, executable
if which("display"):
register(DisplayViewer)
Скопируйте этот блок и вставьте его прямо под ним, изменив команду "display" на команду Ubuntu "eog":
class DisplayViewer(UnixViewer):
def get_command_ex(self, file, **options):
command = executable = "eog"
return command, executable
if which("eog"):
register(DisplayViewer)
После сохранения ImageShow.py, Pillow должен правильно показывать() изображения в средстве просмотра по умолчанию.
Надеюсь, что я нашел здесь, может быть полезно кому-то, это сработало для меня. В нем объясняется, что, когда средство просмотра по умолчанию не принимает файлы изображений командной строки, вы можете использовать модуль webbrowser для отображения изображения:
import Image
# Apple = Image.open("apple.jpg")
# Apple.show()
# instead of using .open and .show(),
# save the image to show it with the webbrowser module
filename = "apple.jpg"
import webbrowser
webbrowser.open(filename)
Это старый вопрос, однако он некоторое время прослушивал меня. Это мое решение:
Я запускаю Python 2.7 на Linux Mint и при вызове Image.show()
ничего не происходит. В моей системе просмотрщик по умолчанию - "Image Viewer", который называется "eog" в bash. Мой Python думает, что я использую что-то еще, возможно, "xv". Итак, откройте терминал и запустите
sudo gedit /usr/lib/python2.7/dist-packages/PIL/ImageShow.py
Найдите "xv" и замените его "eog".
Сохраните файл и Image.show()
отлично работает (для целей отладки).
Возможно, у вас нет набора средств просмотра изображений по умолчанию. Попробуйте открыть файл изображения вне программы и посмотреть, просит ли он вас выбрать программу или просто открывается в другой программе.
PIL в значительной степени отказывается от этого. Вы должны использовать его преемник pillow
, который можно загрузить через easy_install или pip.
На ubuntu я предлагаю следующее:
sudo apt-get install python-pip
pip install pillow --user
Оттуда вы сможете установить подушку и использовать ее класс Image
таким же образом.