微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Arelle 启动期间收到有关错误逃逸的错误

如何解决在 Arelle 启动期间收到有关错误逃逸的错误

我正在尝试让 Arelle 使用 Python 3.6.9 在 Ubuntu linux 18.04 上工作。

步骤 1:(下载 Arelle 软件):

git clone https://github.com/Arelle/Arelle.git -b lxml

第 2 步安装 Python LXML:

apt-get install -y python-lxml

第 3 步安装 Python tk:

由于错误:“没有名为 tkinter 的模块”

...我安装:

apt-get install python3-tk


当需要从终端启动 Arelle 时,我使用:

python3 arelleGUI.pyw

然后我收到以下错误

Traceback (most recent call last):
  File "arelleGUI.pyw",line 9,in <module>
    from arelle import CntlrWinMain
  File "/tmp3/Arelle/arelle/CntlrWinMain.py",line 22,in <module>
    from arelle import Cntlr
  File "/tmp3/Arelle/arelle/Cntlr.py",line 8,in <module>
    from arelle import ModelManager
  File "/tmp3/Arelle/arelle/ModelManager.py",in <module>
    from arelle import (ModelXbrl,Validate,disclosureSystem)
  File "/tmp3/Arelle/arelle/Validate.py",ModelVersReport,XbrlConst,ModelDocument,File "/tmp3/Arelle/arelle/ModelVersReport.py",in <module>
    from arelle import (XbrlConst,XbrlUtil,XmlUtil,UrlUtil,ModelXbrl,ModelVersObject)
  File "/tmp3/Arelle/arelle/ModelDocument.py",ValidateFilingText,XmlValidate)
  File "/tmp3/Arelle/arelle/ValidateFilingText.py",line 16,in <module>
    docCheckPattern = re.compile(r"&\w+;|[^0-9A-Za-z`~!@#$%&\*\(\)\.\-+ \[\]\{\}\|\\:;\"'<>,_?/=\t\n\r\m\f]") # won't match &#nnn;
  File "/usr/lib/python3.6/re.py",line 233,in compile
    return _compile(pattern,flags)
  File "/usr/lib/python3.6/re.py",line 301,in _compile
    p = sre_compile.compile(pattern,flags)
  File "/usr/lib/python3.6/sre_compile.py",line 562,in compile
    p = sre_parse.parse(p,flags)
  File "/usr/lib/python3.6/sre_parse.py",line 855,in parse
    p = _parse_sub(source,pattern,flags & SRE_FLAG_VERBOSE,0)
  File "/usr/lib/python3.6/sre_parse.py",line 416,in _parse_sub
    not nested and not items))
  File "/usr/lib/python3.6/sre_parse.py",line 527,in _parse
    code1 = _class_escape(source,this)
  File "/usr/lib/python3.6/sre_parse.py",line 336,in _class_escape
    raise source.error('bad escape %s' % escape,len(escape))
sre_constants.error: bad escape \m at position 67

我发现此 SO question 似乎与该问题有关。

解决方法

这是 Arelle 中的一个错误,它在 Python 3.6 及更高版本中出现。它有一个 pull request ,但它仍然是开放的(自 2017 年 7 月以来)。鉴于 Python 3.6 已经发布了一段时间,我不知道为什么还没有修复。

您正在使用 lxml 分支,它一直是 stale for 10 years。所以也许这个错误实际上已经在主分支上修复了(即使拉取请求仍然打开),但没有在 lxml 分支上修复。如果您可以选择,请先尝试从 master 安装。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。