No module named antlr4 in python 2.7

Question:

I would like to use ANTLR4 with Python 2.7 and for this I did the following:

  1. I installed the package antlr4-4.6-1 on Arch Linux with sudo pacman -S antlr4.

  2. I wrote a MyGrammar.g4 file and successfully generated Lexer and Parser Code with antlr4 -Dlanguage=Python2 MyGrammar.g4

  3. Now executing for example the generated Lexer code with python2 MyGrammarLexer.py results in the error ImportError: No module named antlr4.

What could to be the problem? FYI: I have both Python2 and Python3 installed – I don’t know if that might cause any trouble.

Asked By: ec-m

||

Answers:

You need to install antlr4 for python through pip:

sudo pip install antlr4-python2-runtime

If you don’t have pip on you system, install it first with:

sudo pacman -S python2-pip
Answered By: devopsfun

The problem was that antlr4 was only installed for Python3 and not Python2. I simply copied the antlr4 files from /usr/lib/python3.6/site-packages/ to /usr/lib/python2.7/site-packages/ and this solved the problem!

Answered By: ec-m

try:

pip install antlr4-python2-runtime

or:

python -m pip install antlr4-python2-runtime
Answered By: Tomás Ibáñez
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.