Я работал над проектом с использованием Berkeley-db и bsddb3 на python3.Я наткнулся на эту ошибку, которую я искал в интернете в течение 2 дней и не мог найти решение .. Я предполагаю, что есть какая-то проблема несовместимости версий, но дело в том, что она работает на моих друзьях, у которых естьТочные версии библиотеки.
Кто-нибудь знает, что является причиной этой ошибки и исправления?
Исходный код:
from bsddb3 import db
database = db.DB()
database.open("ad.idx")
Это дает мне:
bsddb3.db.DBInvalidArgError: (22, 'Invalid argument -- ad.idx: unsupported hash version: 10')
Примечание:«ad.idx» создается с использованием
db_load -c duplicates=1 -f ads.txt -T -t hash ad.idx
в исполняемом файле Unix.
Примечание2: я пытался использовать альтернативный файл idx, отличный от «ad.idx», а также надругие компьютеры.«ad.idx» и другие файлы idx отлично работают на других компьютерах.
Вещи, которые я пробовал:
- Переустановка всех bsddb3, berkeley-db.
- Использование файла .idx моего друга, который отлично работал на его компьютере.
- Использовалось несколько разных типов БД, таких как b + -дерево и т. Д.
Версии:
Berkeley-db = 18.1.25
python3 - 3.6
bsddb3 - 6.2.6
Berkeley-db и bsddb3 являются актуальными
Спасибо!