Where to get Python ANTLR package to use StringTemplate?
Asked Answered
M

2

3

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?

Mulry answered 4/3, 2011 at 20:27 Comment(1)
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.Brucite
S
3

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).

Stenophagous answered 4/3, 2011 at 21:7 Comment(3)
hmm, for my purposes, I need the solution to be cross platform and simple to install. I guess stringtemplate is not the solution for me. Thanks.Mulry
Didn't work for me. stringtemplate3 does not use antlr3, it uses antlr2.7~ . I had to manually install it by downloading antlr2.org/download/antlr-2.7.7.tar.gz , unzipping it, navigating to antlr-2.7.7/lib/python , and running python setup.py install . After this, the dependency was met.Brucite
The tip from @Brucite worked for me. I'm actually trying to get antlr3 to run. I got antlr-3.1.3.jar, created a virtualenv, installed antlr_python_runtime-3.1.3.tar.gz per python setup.py install, then pip install stringtemplate3, and finally installed antlr2.7 as explained above. Crazy that chain of dependencies.Emlynn
I
1

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.

Iny answered 9/8, 2012 at 19:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.