在 Python 中为 Caffe 创建 LMDB 数据库文件时出错

Error in creating LMDB database file in Python for Caffe

我正在尝试根据 this 教程在 Python 中创建一个 LMDB 数据库文件以与 Caffe 一起使用。命令 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

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

安装了 lmdb 包

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

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

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

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

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

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

conda install -c conda-forge python-lmdb

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

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

conda install -c conda-forge lmdb

无法修复导入错误。