【发布时间】:2017-04-24 10:32:40
【问题描述】:
我的 PythonQL 项目中有以下问题:
当我从 Jupyter notebook 运行时,一直弹出这条消息: 警告:yacc 表文件版本已过期 生成 LALR 表
但是,当从命令行使用时,这根本不会发生(我们附带预先计算的解析器文件)。
我们现在正在添加 Jupyter 支持并希望解决此问题,但不知道在哪里寻找解决方案...
【问题讨论】:
标签: ply
我的 PythonQL 项目中有以下问题:
当我从 Jupyter notebook 运行时,一直弹出这条消息: 警告:yacc 表文件版本已过期 生成 LALR 表
但是,当从命令行使用时,这根本不会发生(我们附带预先计算的解析器文件)。
我们现在正在添加 Jupyter 支持并希望解决此问题,但不知道在哪里寻找解决方案...
【问题讨论】:
标签: ply
Jupyter notebook 和命令行很可能使用不同的虚拟环境(或者一个使用虚拟环境,另一个不使用虚拟环境)。
我在 Python 2 和 Python 3 之间的公共树中有这种情况,其中:
>>> import ply
>>> ply.__version__
'3.11'
>>> 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,或类似的东西。
【讨论】: