Ошибка при создании файла базы данных LMDB в Python для Caffe

Я пытаюсь создать файл базы данных LMDB на Python для использования с Caffe в соответствии с этот учебник. Команды import numpy as np и import caffe работают отлично. Однако, когда я пытаюсь запустить import lmdb и import deepdish as dd, я получаю следующие ошибки:

    >>> import lmdb
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named lmdb
    >>> import deepdish as dd
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named deepdish

Я запускаю Python 2.7.9 через Anaconda 2.2.0 (64-разрядная версия) в Ubuntu 14.04. При установке зависимостей для Caffe согласно этой странице я уже установил пакет lmdb через sudo apt-get install liblmdb-dev .

Любые идеи, почему эта ошибка может происходить?


person Dr. Prasanna Date    schedule 10.06.2015    source источник
comment
у вас, похоже, проблемы с определением пути. проверьте переменную PATH и убедитесь, что она действительно указывает на расположение пакета lmdb   -  person Shai    schedule 11.06.2015
comment
Когда я делаю echo $PATH, он возвращает следующее: /home/pras/anaconda/bin:$/usr/include:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games. Когда я делаю dpkg -L liblmdb-dev, я получаю следующее: /. /usr /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/liblmdb.a /usr/share /usr/share/doc /usr/share/doc/liblmdb-dev /usr/share/doc/liblmdb-dev/copyright /usr/include /usr/include/lmdb.h /usr/lib/x86_64-linux-gnu/liblmdb.so /usr/share/doc/liblmdb-dev/changelog.Debian.gz Что из этого я должен добавить в $PATH?   -  person Dr. Prasanna Date    schedule 11.06.2015
comment
Что ж, я попытался следовать инструкциям, указанным здесь. pip install lmdb, похоже, добился цели!   -  person Dr. Prasanna Date    schedule 11.06.2015
comment
Вы должны опубликовать это как ответ   -  person Shai    schedule 11.06.2015


Ответы (3)


Что ж, apt-get install liblmdb-dev может работать с bash (в терминале), но, видимо, не работает с Anaconda Python. Я подумал, что для Anaconda Python может потребоваться собственный модуль для lmdb, и я перешел по этой ссылке. . Установку Python для модуля lmdb можно выполнить, выполнив команду pip install lmdb в терминале. И тогда import lmdb в Python работает как шарм!

Вышеупомянутые команды установки могут потребовать sudo.

person Dr. Prasanna Date    schedule 11.06.2015

Если вы используете Anaconda, это может решить вашу проблему (у меня это сработало):

conda install -c https://conda.binstar.org/dougal lmdb
person Yazeed    schedule 27.05.2016

Для пользователей Anaconda установка пакета python-lmdb из conda-forge должна исправить ошибку импорта lmdb:

conda install -c conda-forge python-lmdb

Это было протестировано conda 4.5.11 в lxc-контейнерной системе, работающей под управлением Ubuntu 18.04.

Обратите внимание, что существует пакет conda с именем lmdb (без python-), который можно установить через:

conda install -c conda-forge lmdb

это не исправляет ошибку импорта.

person Mohamed Laradji    schedule 03.09.2018