【问题标题】:Error in creating LMDB database file in Python for Caffe在 Python for Caffe 中创建 LMDB 数据库文件时出错
【发布时间】:2015-08-26 10:55:53
【问题描述】:

我正在尝试根据this 教程在 Python 中创建一个用于 Caffe 的 LMDB 数据库文件。命令import numpy as npimport caffe 运行良好。但是,当我尝试运行 import lmdbimport 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

我在 Ubuntu 14.04 上通过 Anaconda 2.2.0(64 位)运行 Python 2.7.9。在根据this页面安装Caffe的依赖时,我已经通过sudo apt-get install liblmdb-dev安装了lmdb包。

知道为什么会发生此错误吗?

【问题讨论】:

  • 您似乎遇到了路径定义问题。请检查您的 PATH 变量并确认它确实指向 lmdb 包的位置
  • 当我执行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?
  • 好吧,我尝试按照here 中提到的说明进行操作。 pip install lmdb 似乎成功了!
  • 您应该将此作为答案发布

标签: python numpy anaconda caffe lmdb


【解决方案1】:

好吧,apt-get install liblmdb-dev 可能适用于 bash(在终端中),但显然它不适用于 Anaconda Python。我认为 Anaconda Python 可能需要它自己的 lmdb 模块,我关注了this 链接。 lmdb 模块的 Python 安装可以通过在终端中运行命令pip install lmdb 来执行。然后import lmdb 在 Python 中就像一个魅力!

以上安装命令可能需要sudo。

【讨论】:

    【解决方案2】:

    如果您使用的是 Anaconda,那么这可以解决您的问题(对我有用):

    conda install -c https://conda.binstar.org/dougal lmdb
    

    【讨论】:

    • 产生 404 错误
    【解决方案3】:

    对于 Anaconda 用户,从 conda-forge 安装 python-lmdb 包应该可以修复 lmdb 导入错误:

    conda install -c conda-forge python-lmdb
    

    这是在运行Ubuntu 18.04lxc 容器化系统上的conda 4.5.11 上测试的。

    请注意,有一个名为 lmdb(没有 python-)的 conda 包,可通过以下方式安装:

    conda install -c conda-forge lmdb
    

    这并不能修复导入错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 2016-01-12
      • 2016-07-26
      • 1970-01-01
      • 2016-03-24
      • 2016-12-18
      • 2016-10-30
      相关资源
      最近更新 更多