使用 slate 时出现 unicodeDecodeError

unicodeDecodeError when using slate

我有一些 pdf 需要从中提取信息。我在 centos 7 上使用 python 和 python 的 lib slate。 一开始,slate 工作正常。但后来我必须更新几个模块和库。板岩库不再起作用。 为了解决这个问题,我尝试更新 slate,并尝试使用不同的版本,但是 none 个都可以。 错误是:

File "/usr/lib64/python2.7/StringIO.py", line 271, in getvalue
self.buf += ''.join(self.buflist)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 58: ordinal not in range(128)`

当我取消我的代码时,一切正常。

我正在使用 slate 的代码片段:

def adequacaoCut(pdf, person, pathInt, pathImg):
    with open('pdfs/'+pdf, 'rb') as f:
        doc = slate.PDF(f)
        print doc
        ... rest of code that works fine

随着时间的流逝,我不再记得在 python、centos 或我做过的任何事情上有哪些库或更新。 我应该怎么办?

我自己解决问题。我发现我的电脑里有两个 pdfminer(pdfminer 和 pdfminer.six)。我认为库之间存在某种冲突,或者 slate 试图调用 pdfminer.six 而不是 pdfminer。 我卸载了两者并仅重新安装了 pdfminer。它现在很有魅力。