Pyinstaller 和 Ply IOError:源代码不可用

2023-12-06

我对 pyinstaller 很陌生,但几天来我一直在努力解决这个问题,但我似乎不知道出了什么问题。我的脚本正常运行,但当我尝试使用 pyinstaller 构建时抛出 IOerror,我的模块(包括 ply.lex)似乎已包含在内,但也许我是个白痴?如果有人有任何建议,将不胜感激......

这是我的错误(第 65 行是我的词法分析器的构建位置)

  Traceback (most recent call last):
  File "<string>", line 65, in <module>
  File "site-packages/ply/lex.py", line 906, in lex
  File "site-packages/ply/lex.py", line 580, in validate_all
  File "site-packages/ply/lex.py", line 822, in validate_rules
  File "site-packages/ply/lex.py", line 833, in validate_module
  File "inspect.py", line 690, in getsourcelines
  File "inspect.py", line 529, in findsource
IOError: source code not available

如果有人以前见过这个问题,或者可以提供帮助,那就太棒了。


PLY 坚持其语法定义在files。真实的文件,有名字和一切。我认为这是因为它缓存计算语法表的策略,其中涉及将缓存表的时间戳与原始文件的时间戳进行比较。

显然,Pyinstaller 将语法评估为<string>,因为它是从存档中提取的而不是文件。 (Pyinstaller 手册提到__file__没有为冻结的应用程序正确设置,这就是 PLY 正在考虑的。)您可以尝试使用--onedir创建安装程序包时的选项,但当然行为略有不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyinstaller 和 Ply IOError:源代码不可用 的相关文章

随机推荐