3
votes

I'd like to do some code generation, and StringTemplate looks like a pretty good tool for the job. I easy_installed stringtemplate3 from PyPi, but when I try to import it I get:

ImportError: No module named antlr

I am confused by this because I thought that ANTLR depended on StringTemplate (as the website says), not the other way around. In any case, I cannot find the correct package to fix this. Installing antlr_python_runtime did not help.

Any hints?

2
I believe Antlr and ST have cyclic dependencies, but with one depending on an earlier version of the other. i.e. if ST 4 depends on Antlr 3, Antlr 3 depends on ST 3 rather than 4.I82Much

2 Answers

3
votes

You need to have the python-antlr package installed to use stringtemplate3. Example of installing on Ubuntu:

% sudo aptitude install python-antlr
% virtualenv ~/virt
% . ~/virt/bin/activate
(virt)~% easy_install stringtemplate3
(virt)~% python -c 'import stringtemplate3'

FWIW this package is named py26-antlr3 on Macports (not sure which platform / package manager you're using).

1
votes

I was facing the same issue and packaged the antlr python library: you can pip install git+git://github.com/kynan/antlr.git#egg=antlr to install it.