首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌Colab的bsddb.btopen alternative?

谷歌Colab的bsddb.btopen alternative?
EN

Stack Overflow用户
提问于 2021-11-09 11:24:16
回答 1查看 77关注 0票数 1

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

但是,我有一个要打开/读取的.db文件,脚本是用Python2编写的,因为它们使用的是bsddb库(这是不推荐的,不能在Python3上工作)

代码语言:javascript
复制
self.term_to_id = bsddb.btopen(resource_prefix + '_term_to_id.db', 'r')

我尝试修改Python 2文件,使其在Python 3上兼容,这样我就可以将它作为一个模块导入到我的Google笔记本中,我尝试了这样做:

  1. --我尝试将bsdbb更改为bsdbb3,并安装了!pip install berkeleydb,以便以后可以这样做,只需将bsdbb更新为bsdbb3,但是在安装!pip install berkeleydb时,我会得到以下错误:H 212G 213

错误:无法找到满足berkeleydb要求的版本(来自版本: 18.1.0、18.1.1、18.1.2、18.1.3、18.1.4):没有为berkeleydb找到匹配的发行版

2)我想也许我可以将依赖关系从python 2文件导入到我的Python3笔记本上,但正如预期的那样,它无法工作,因为它在Python2文件中不识别'import bsdbb'

有什么建议可以让它在Google Colab上发挥作用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-09 12:39:12

berkeleydb只是在C/C++中创建的数据库BerkeleyDB上的Python。

当我试图在本地系统Linux上安装它时,我会看到

代码语言:javascript
复制
FileNotFoundError: [Errno 2] No such file or directory: 'src/Modules/berkeleydb.h'

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

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

使用

代码语言:javascript
复制
!apt search Berkelay

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

代码语言:javascript
复制
!apt install libdb5.3-dev

在此之后,Python可以安装berkeleydb

这在Colab上适用于我

代码语言:javascript
复制
!apt install libdb5.3-dev

!pip install berkeleydb

import berkeleydb as bsddb
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69897261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档