我一直在尝试做同样的事情,并得出结论认为antlr3
Ubuntu 存储库中的当前包不能与 Python 运行时支持一起正常工作。另一个 Ubuntu 软件包python-antlr
更加过时,因为它应该与 ANTLR 2 一起使用。我建议您antlr3
手动卸载和安装 ANTLR,同时提供正确的 Python 运行时支持。
由于我自己刚刚经历过这个,发现说明有点分散,这里总结一下如何做。
卸载antlr3包:
sudo apt-get purge antlr3
获取最新 ANTLR 3.x 的完整 Java 二进制文件:
wget http://www.antlr3.org/download/antlr-3.5.tar.gz
准备安装 Python 运行时:
tar xzf antlr-3.5.tar.gz
cd antlr3-antlr-3.5/runtime/Python
在调用安装脚本之前,您必须修补版本号以指向在线可用的内容。您可以通过编辑ez_setup.py
并更改DEFAULT_VERSION = "0.6c5"
为DEFAULT_VERSION = "0.6c11"
.
现在您应该可以使用以下命令安装 Python 运行时:
sudo python setup.py install
要查看它是否有效,请尝试import antlr3
使用 Python shell。你不应该得到任何错误。
现在,您必须正确安装相应版本的 ANTLR,它是 Java 语言。为此,请确保您安装了 JVM(例如sudo apt-get install default-jdk
)。
获取最新的 ANTLR 3 jar:
wget http://www.antlr3.org/download/antlr-3.5-complete.jar
将 jar 永久添加到您的类路径中(当然,您可以将其移动到您想要的位置并相应地调整路径):
echo 'export CLASSPATH=~/antlr-3.5-complete.jar:$CLASSPATH' >> ~/.bashrc
可选,但推荐:添加一个 shell 别名来调用 ANTLR 3:
echo "alias antlr3='java -jar ~/antlr-3.5-complete.jar'" >> ~/.bashrc
而已!重新阅读 .bashrc 后,看看是否一切都适用于antlr3 -version
. 您应该收到一条消息,例如:
ANTLR Parser Generator Version 3.5