【问题标题】:unexpected keyword argument 'codec' in XMLConverterXMLConverter 中的意外关键字参数“编解码器”
【发布时间】:2020-04-15 11:54:52
【问题描述】:

以下错误信息:

device = XMLConverter(rsrcmgr, retstr, laparams=laparams, codec=codec)
TypeError: __init__() got an unexpected keyword argument 'codec'

原始代码:

rsrcmgr = PDFResourceManager()
retstr = BytesIO()
codec = 'utf-8'
laparams = LAParams()
device = XMLConverter(rsrcmgr, retstr, laparams=laparams, codec=codec)

这在我的项目设置 (python 3.5.3) 中运行良好,但在新设置 (python 3.7.4) 中运行良好。不确定这是否是个问题,或者是否有新版本的 XMLConverter 现在可用

【问题讨论】:

  • 您从哪个模块获取 XMLConverter?你在每个环境中安装了什么版本?
  • 如果这是来自 PDFMiner,那么 XMLConverter 类在当前版本的方法签名中确实没有关键字 codecdef __init__(self, rsrcmgr, outfp, pageno=1, laparams=None, imagewriter=None, stripcontrol=False):
  • 是的,克里斯,你是对的。当前版本没有 codec 关键字。虽然 20181108 版本可以,但那是在其他环境中使用的(稳定的应用程序)

标签: python-3.x codec pdfminer xmlconvert


【解决方案1】:

正如 chris 所怀疑的,此问题是由于版本不匹配造成的。 2019版pdfminer方法中没有关键字codec。所以我安装了旧版本的 pdfminer 20181108,它也在我的项目中使用。现在代码运行没有任何错误

【讨论】:

  • 另外,请注意有 pdfminer 和 pdfminer.six 最后一个有编解码器参数。
  • No matching distribution found for pdfminer==20181108 用于 Windows。因此,您需要在 windows 上安装pdfminer.six==20181108
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
  • 2021-12-18
  • 2018-02-23
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
  • 2016-12-29
相关资源
最近更新 更多