Установить 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
1
задан 16 July 2017 в 21:51

3 ответа

Установите палочку в 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)

Очевидно, что ошибка на вашем компьютере вызвана anaconda. Анаконда известна тем, что делает большой беспорядок из путей по умолчанию для многих модулей Python. Чтобы исправить это, вам нужно указать conda пути к файлам Python, которые были установлены apt.

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

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

1
ответ дан 22 May 2018 в 20:31
  • 1
    спасибо за подтверждение, что он работает для вас 16.04. К сожалению, я не могу импортировать Image еще и получить ту же ошибку даже после установки python-wand. Я обновил свой вопрос, поскольку мог найти основную проблему. Тем не менее, не знаю, как исправить. – ksindi 16 July 2017 в 21:52
  • 2
    Надеюсь, я правильно понял путь. Как вы можете видеть из моего ответа, у меня нет установленной анаконды. Если нет что-то вроде /home/ksindi/anaconda3/lib/python/site-packages, то, возможно, conda использует другую версию Python, например /home/ksindi/anaconda3/lib/python3.5/site-packages – karel 16 July 2017 в 22:14
  • 3
    вы абсолютно правы. Анаконда была проблемой. достаточно смешно, я просто собирался попробовать это, когда вернусь домой. – ksindi 16 July 2017 в 22:27
  • 4
    @ksindi Я не сказал все о Anaconda, что я хотел сказать в своем ответе, потому что это, возможно, не совсем актуально, но рассмотрим этот пример. На переполнении стека есть 8 вопросов о глюевизе, и 7 из них также касаются Анаконды. Это способ Windows / Mac думать о Anaconda, но это не способ Ubuntu. У меня есть glueviz (связанная визуализация данных) из установленных репозиториев Ubuntu 16.04 по умолчанию, но у меня нет Anaconda, установленного на моем компьютере. – karel 18 July 2017 в 17:37

Установите палочку в 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)

Очевидно, что ошибка на вашем компьютере вызвана anaconda. Анаконда известна тем, что делает большой беспорядок из путей по умолчанию для многих модулей Python. Чтобы исправить это, вам нужно указать conda пути к файлам Python, которые были установлены apt.

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

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

1
ответ дан 18 July 2018 в 10:13

Установите палочку в 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)

Очевидно, что ошибка на вашем компьютере вызвана anaconda. Анаконда известна тем, что делает большой беспорядок из путей по умолчанию для многих модулей Python. Чтобы исправить это, вам нужно указать conda пути к файлам Python, которые были установлены apt.

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

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

1
ответ дан 24 July 2018 в 19:31

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

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