(Хотя копия CLayton может быть бинарным дистрибутивом, источник для mnemosyne находится в свободном доступе.)
Это не очень помогает, хотя: строка 1012 просто:
db = cPickle.load(infile)
Где «infile» - это файл сохраненной базы данных. Так что в вашей базе данных есть что-то поврежденное. (BadPickleGet - это особый подкласс UnpicklingError, который вы ожидаете, когда ввод не работает.)
Вы можете изменить mnemosyne_core.py, чтобы использовать простой модуль Python для pickle вместо cPickle, что позволит вам добавить отладку в pickle.py и точно определить, что находится в файле, который ему не нравится. Но, честно говоря, если файл был поврежден из-за аппаратного сбоя / жесткого отключения питания, есть вероятность, что его содержимое будет усечено, нечитаемо или будет просто мусором.
Приготовьтесь снова и снова просматривать эти ранние карты ...