如何修复 "Can't find local Berkeley DB" 错误?

How to fix "Can't find local Berkeley DB" error?

我正在尝试在带有 Raspbian 的新 raspberry pi 3 上的虚拟环境中安装 scrapy-deltafetch(如 here 所述)。

当我 运行 pip install scrapy-deltafetch 在我的 virtualenv 中时,我得到这样的东西:

python setup.py egg_info: Can't find a local Berkeley DB installation

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ib6d93/bsddb3/

然而,当我 运行 sudo pip install scrapy-deltafetch 在我的虚拟环境之外时,一切正常。

有人知道如何在虚拟环境中安装 scrapy-deltafetch 吗?

您的系统缺少 Berkeley DB,DeltaFetch 使用它来存储请求数据。

因此,首先在您的系统中安装 Berkeley DB(通过快速搜索找到 this tutorial)。

之后,您必须安装 bsddb3 Python 软件包(您可以按照 this answer 中的说明进行操作)。

编辑 (2020):

这应该有效:

$ sudo apt install libdb-dev
$ pip install bsddb3

如果我的 Ubuntu 18.04 缺少系统库调用 libdb-dev

> sudo apt-get install libdb-dev

这解决了我的问题。