Невозможно найти freeimage после установки mahotas в Python - PullRequest
5 голосов
/ 09 апреля 2011

Привет, я новичок в Python и следую Обучающему образу Python .

Следующее выполняется без ошибок после установки пакетов, описанных в учебном пособии

import numpy
import scipy
import pylab
import pymorph
import mahotas
from scipy import ndimage

Однако, когда я пытаюсь прочитать изображение

image = mahotas.imread('picture_file.jpg')

, я получаю

image = mahotas.imread ('image_file.jpg') Traceback (большинствопоследний вызов последним): Файл "", строка 1, в файле "/usr/local/lib/python2.6/dist-packages/mahotas-0.6.4-py2.6-linux-i686.egg/mahotas/ init .py ", строка 68, в imread повысить ImportError ('mahotas.imread зависит от freeimage. Не удалось найти его. Ошибка:% s'% e) ImportError: mahotas.imread зависит от freeimage.Не смог найти это.Ошибка: mahotas.freeimage: не удалось найти libFreeImage ни в одном из следующих каталогов: '/usr/local/lib/python2.6/dist-packages/mahotas-0.6.4-py2.6-linux-i686.egg/mahotas ',' / lib ',' / usr / lib ',' / usr / local / lib ',' / opt / local / lib '

Я попытался установитьFreeImagePy и может импортировать его без проблем, но это не помогает.Я попытался добавить к пути Python, используя пакет sys, но тоже не помогло.

РЕДАКТИРОВАТЬ: я должен был упомянуть, что все пакеты, кроме pymorph и mahotas, были установлены на моем linux-компьютере, выполняя '* sudo apt-get installимя_пакета * 'при установке pymorph и mahotas путем загрузки и установки' sudo python setup.py install '.

1 Ответ

2 голосов
/ 13 апреля 2011

Ответ для более новых версий махотас

Сам Mahotas не имеет функции для чтения изображений. imread - это просто оболочка для одного из 3-х бэкэндов:

  1. mahotas-imread (то есть https://pypi.python.org/pypi/imread)
  2. FreeImage
  3. matplotlib (который поддерживает только PNG и JPEG)

Таким образом, вам необходимо установить один из пакетов выше. Freeimage можно установить в Ubuntu, как описано ниже.

Если вы работаете в Windows, вы можете попробовать пакеты Кристофа Гольке .

Оригинальный ответ (для более старых версий mahotas)

Вам нужно установить freeimage, чтобы иметь возможность использовать mahotas.imread (все остальное будет работать без него, это необязательная зависимость). По сути, это не пакет Python, а обычная библиотека.

Я не знаю, в каком дистрибутиве вы находитесь, но попробуйте найти пакет freeimage. В Debian / Ubuntu вы можете просто сделать:

sudo apt-get install libfreeimage3

У вас будет файл libfreeimage.so в /usr/lib или в аналогичном месте, и все будет работать.

...