bsddb.db.DBError: (21, 'Является каталогом') ошибка Python в hashopen - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь получить приложение Python we45 / ThreatPlaybook (от github) для установки под Ubuntu 18.04. Мне удалось пройти установку до того момента, когда вы запустите установку Threat-PlayBook, и она завершается с сообщением:

  File "/usr/lib/python2.7/bsddb/__init__.py", line 364, in hashopen
    d.open(file, db.DB_HASH, flags, mode)
bsddb.db.DBError: (21, 'Is a directory')

Приложение отлично устанавливается на Mac. Просто подумал, может ли быть способ заставить это работать под Ubuntu.

Файл, который он пытается открыть, - это repo.db Этот файл является файлом базы данных Berkeley 1.85 как обозначено:

файл repo.db repo.db: Беркли DB 1.85 (Hash, версия 2, собственный порядок байтов)

Код Python, который пытается открыть этот файл:

def hashopen (file, flag = 'c', mode = 0666, pgsize = None, ffactor = None, nelem = None, cachesize = нет, lorder = нет, hflags = 0):

flags = _checkflag(flag, file)
e = _openDBEnv(cachesize)
d = db.DB(e)
d.set_flags(hflags)
if pgsize is not None:    d.set_pagesize(pgsize)
if lorder is not None:    d.set_lorder(lorder)
if ffactor is not None:   d.set_h_ffactor(ffactor)
if nelem is not None:     d.set_h_nelem(nelem)
d.open(file, db.DB_HASH, flags, mode)
return _DBWithCursor(d)
...