bsddb.btopen Google Colab 的备选方案?

bsddb.btopen alternative on Google Colab?

所以我在 Google Colab 上使用 Python 3(我将实现一些深度学习库,例如:Keras、TF、Flair、OpenAI...)所以我真的很想继续使用 Python 3 而不是切换到 2。

但是,我有一个 .db 文件,我想要 open/read,脚本是在 Python2 中编写的,因为他们正在使用 bsddb 库(已弃用且不适用于 Python 3)

self.term_to_id = bsddb.btopen(resource_prefix + '_term_to_id.db', 'r')

我尝试修改 Python 2 文件以使其与 Python 3 兼容,这样我就可以将其作为模块导入到我的 Google Colab Notebook 中,我的尝试是:

  1. 我尝试将 bsdbb 更改为 bsdbb3,并安装了 !pip install berkeleydb,以便我稍后可以这样做 !pip install bsddb3,只需将 bsdbb 更新为 bsdbb3 ,但是在安装 !pip install berkeleydb 时出现以下错误:

ERROR: Could not find a version that satisfies the requirement berkeleydb (from versions: 18.1.0, 18.1.1, 18.1.2, 18.1.3, 18.1.4) ERROR: No matching distribution found for berkeleydb

2) 我想也许我可以将依赖项从 python 2 文件导入到我的 Python 3 笔记本,但正如预期的那样它没有工作,因为它无法识别 'import bsdbb' 在 Python 2 文件中。

有任何提示/解决方法可以使其在 Google Colab 上运行吗?

berkeleydb 仅 Python 绑定到 C/C++ 中创建的数据库 BerkeleyDB

当我尝试在我的本地系统上安装它时 Linux Mint 然后我看到错误

FileNotFoundError: [Errno 2] No such file or directory: 'src/Modules/berkeleydb.h'

这意味着它试图编译一些 C/C++ 代码。

这通常需要安装带有 C/C++ headers 的特殊软件包(文件 .h),后缀为 -dev.

使用

!apt search Berkelay

我发现安装了libdb5.3所以我安装了libdb5.3-dev

!apt install libdb5.3-dev

然后Python可以安装berkeleydb


这适用于我 Colab

!apt install libdb5.3-dev

!pip install berkeleydb

import berkeleydb as bsddb