我正在使用一个用Python编写的程序,这个程序最后一次更新是在2003年。除了一个进口外,我现在一切都正常了:

from BDBStorage.BerkeleyBase import BerkeleyConfig

这看起来像是伯克利数据库模块的一个非常旧的版本,在Python 3中将被弃用。我唯一能找到的参考是这里:http://buildbot.zope.org/Packages/BDBStorage/BerkeleyBase.py?graph=1.8&only_with_tag=bsddb3Storage_1_0beta4
不幸的是,该软件没有文档,而且构建它的团队是无法访问的。
以前有人见过这样的东西吗?
用法如下:
berkeley_config = BerkeleyConfig()
berkeley_config.logdir = os.path.join(base_dir, "bdb_log")
berkeley_config.frequency = 3600
db_retriever = BerkeleyDatabaseRetriever(
    database_dir = os.path.join(base_dir, "dating_db"),
    config = berkeley_config)

最佳答案

A checkout of 794bb3cfcd04dcd309c28ae214a59003be49d0a5 in the Zope repo包含您正在查找的BDBStorage模块,

$ python -c 'from BDBStorage.BerkeleyBase import BerkeleyConfig'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "BDBStorage/BerkeleyBase.py", line 31, in <module>
    from ZODB.lock_file import LockFile
ImportError: No module named ZODB.lock_file

它要求ZODB moudle单独安装。ZODB模块仍在积极开发中,但我怀疑旧的BDBStorage模块可能需要2003年左右的旧版本(据我所知,当BDBStorage模块最后一次修改时)
看起来工作不好玩。。

10-08 19:13