如何将 Traceback 修复到旧代码版本?

How to fix Traceback to old code version?

我 运行 我在 Jupyter-notebook 中的代码,它回溯到旧文件版本的错误(实际文件中不再有错误代码)

我更新了 ipython,我尝试重新启动 Jupyter,我重新打开(之前出错的)文件,然后重新启动整个计算机。没有任何效果!

这是回溯错误:

TypeError                                 Traceback (most recent call last)

<ipython-input-34-b46c17b92e93> in batchGenerator(self, DG_list, batch_size, output_format)
    233             batches = []
    234             for DG in DG_list:
--> 235                 batches.append(DG.generate(batchIDs,output_format))
    236             yield tuple(batches) # match output type to keras fit_generator generator function
    237 

~\PycharmProjects\MMOP\ADT\DataGeneratorADT.py in generate(self, IDList, outputFormat)
    222                         if header != self._DUF_columns:
    223                             warnings.warn('The DUF header is not consistent with the DG setting. It is now set to:',
--> 224                                           header)
    225                             self._DUF_columns = header
    226                     list_reader = list(reader)

TypeError: category must be a Warning subclass, not 'list'

这是文件中的实际代码(在 Jupyter 中加载时):

file = open('DataGeneratorADT.py','r')
content  = file.read()
print(content)

相关代码行:

if header != self._DUF_columns:
    print('The DUF header is not consistent with the DG setting. It is now set to:' + header)
    self._DUF_columns = header

由于我删除了它并用打印替换了它,所以我预计会出现关于警告的错误。

似乎有 2 个问题导致了这个错误:

  1. Jupyter 代码试图访问 master 上的代码,尽管我是在另一个特定分支上签出的。根据 this thread 的说法,这不应该发生,但情况仍然如此。
  2. 对模块的调用链接到一个持久的杂乱文件(不受任何提交或重启的影响)。这是通过使用命令解决的:git gc。上面的命令删除了临时文件和不必要的文件。 (垃圾收集器)