Установите ImageMagick для Python Ubuntu 16.04

Обновление

Возможно, это - причина?

>>> from ctypes import *
>>> cdll.LoadLibrary('libMagickWand-6.Q16.so.2')
...
OSError: /home/myuname/anaconda3/bin/../lib/libgomp.so.1: version `GOMP_4.0' not found (required by /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2)

Неясный, как зафиксировать все же.


Используя пакет палочки Python. Сопровождаемые инструкции по установке путем выполнения:

sudo apt install libmagickwand-dev imagemagick
pip install wand

Но я получаю следующую ошибку при попытке импортировать Изображение:

>>> from wand.image import Image
...
    raise IOError('cannot find library; tried paths: ' + repr(tried_paths))
OSError: cannot find library; tried paths: ['libMagickWand-6.Q16.so.2', 'libMagickWand-6.Q16.so.2']

During handling of the above exception, another exception occurred:
...
ImportError: MagickWand shared library not found.
You probably had not installed ImageMagick library.
Try to install:
  apt-get install libmagickwand-dev

Не уверенный, что продолжается. Выполнение ldconfig -p | grep -i wand дает мне:

libMagickWand-6.Q16.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2
libMagickWand-6.Q16.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so

Также выполнение ctypes показывает библиотеку:

>>> from ctypes.util import find_library
>>> find_library('MagickWand')
'libMagickWand-6.Q16.so.2'

Подтвердите, что это не v7:

$ convert -version
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-05-26 http://www.imagemagick.org
2
задан 16 July 2017 в 21:51

1 ответ

Палочка установки в Ubuntu 16.04 из репозиториев Ubuntu по умолчанию.

sudo apt install python-wand libmagickwand-dev 

Создайте изображение, названное mona-lisa.png в Вашем собственном корневом каталоге для использования в следующем примере кода из документации палочки.

from wand.image import Image
from wand.display import display

with Image(filename='mona-lisa.png') as img:
    print(img.size)
    for r in 1, 2, 3:
        with img.clone() as i:
            i.resize(int(i.width * r * 0.25), int(i.height * r * 0.25))
            i.rotate(90 * r)
            i.save(filename='mona-lisa-{0}.png'.format(r))
            display(i)

Если Вы выполняете этот код от терминала, нажимаете Enter дважды после конца кода для выполнения кода. Этот код должен работать успешно и открыть изображение в отдельном окне и показать консольный вывод. Закройте все окна изображения что код Python, открытый путем нажатия на X прежде, чем выйти от интерпретатора Python.

Я попытался диагностировать Ваш вывод и получил эти результаты:

>>> from ctypes import *
>>> cdll.LoadLibrary('libMagickWand-6.Q16.so.2')
<CDLL 'libMagickWand-6.Q16.so.2', handle 266d6a0 at 7fb271c966d0>

Не было никаких ошибок на моем компьютере, однако я обнаружил то, что вызвало эту ошибку на Вашем компьютере:

OSError: /home/myuname/anaconda3/bin/../lib/libgomp.so.1: version `GOMP_4.0' not found (required by /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2)

Очевидно ошибка на Вашем компьютере вызывается анакондой. Анаконда известна тем, что она сделала большую путаницу из путей по умолчанию для многих модулей Python. Для фиксации его, необходимо сказать conda пути к файлам Python, которые были установлены Кв.

Можно использовать символьные ссылки, чтобы сказать conda пути к файлам Python, которые были установлены Кв. Поместите символьные ссылки в собственный conda's lib/python/site-packages каталог, который для Вас был бы чем-то как: /home/ksindi/anaconda3/lib/python/site-packages если ksindi является Вашим именем пользователя.

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

2
ответ дан 2 December 2019 в 03:37

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

Похожие вопросы: