没有名为 antlr4 的模块
No module named antlr4
我想在 Python 2.7 中使用 ANTLR4,为此我做了以下操作:
我用 sudo pacman -S antlr4
在 Arch Linux 上安装了软件包 antlr4-4.6-1
。
我写了一个 MyGrammar.g4
文件并使用 antlr4 -Dlanguage=Python2 MyGrammar.g4
成功生成了 Lexer 和 Parser 代码
现在使用 python2 MyGrammarLexer.py
执行例如生成的 Lexer 代码会导致错误 ImportError: No module named antlr4
。
可能是什么问题?仅供参考:我同时安装了 Python2 和 Python3 - 我不知道这是否会造成任何问题。
您需要为 python 通过 pip
安装 antlr4
:
sudo pip install antlr4-python2-runtime
如果您的系统上没有 pip
,请先安装它:
sudo pacman -S python2-pip
问题是 antlr4
只为 Python3 安装,而不是 Python2。我只是将 antlr4 文件从 /usr/lib/python3.6/site-packages/
复制到 /usr/lib/python2.7/site-packages/
,这解决了问题!
尝试:
pip install antlr4-python2-runtime
或:
python -m pip install antlr4-python2-runtime
我想在 Python 2.7 中使用 ANTLR4,为此我做了以下操作:
我用
sudo pacman -S antlr4
在 Arch Linux 上安装了软件包antlr4-4.6-1
。我写了一个
MyGrammar.g4
文件并使用antlr4 -Dlanguage=Python2 MyGrammar.g4
成功生成了 Lexer 和 Parser 代码
现在使用
python2 MyGrammarLexer.py
执行例如生成的 Lexer 代码会导致错误ImportError: No module named antlr4
。
可能是什么问题?仅供参考:我同时安装了 Python2 和 Python3 - 我不知道这是否会造成任何问题。
您需要为 python 通过 pip
安装 antlr4
:
sudo pip install antlr4-python2-runtime
如果您的系统上没有 pip
,请先安装它:
sudo pacman -S python2-pip
问题是 antlr4
只为 Python3 安装,而不是 Python2。我只是将 antlr4 文件从 /usr/lib/python3.6/site-packages/
复制到 /usr/lib/python2.7/site-packages/
,这解决了问题!
尝试:
pip install antlr4-python2-runtime
或:
python -m pip install antlr4-python2-runtime