警告:yacc表文件版本已过期

时间:2017-04-24 10:32:41

标签: ply

我的PythonQL项目中存在以下问题:

当我从Jupyter笔记本运行时,此消息会一直弹出: 警告:yacc表文件版本已过期 生成LALR表

但是,从命令行使用时,根本不会发生这种情况(我们附带预先计算的解析器文件)。

我们现在正在添加Jupyter支持并希望解决此问题,但不知道在哪里寻找解决方案...

1 个答案:

答案 0 :(得分:0)

很可能 Jupyter notebook 和命令行使用不同的虚拟环境(或者一个使用而另一个不使用虚拟环境)。

我在 Python 2 和 Python 3 之间的公共树中有这个案例,其中:

Python 3

>>> import ply
>>> ply.__version__
'3.11'

Python 2

>>> import ply
>>> ply.__version__
'3.9'

ply 版本在 parser.out 文件中记录为:

Created by PLY version 3.9 (http://www.dabeaz.com/ply)

...并且在启动时另一个 ply 版本注意到“不兼容”并重新创建文件。 您只需确保在这两种情况下都安装了相同版本的 ply

您可以选择一个虚拟环境,使用 pip freeze >requirements.pip,然后在另一个虚拟环境中发出 pip install -U -r requirements.pip 或类似的东西。