Python 没有名为antlr4的模块

Python 没有名为antlr4的模块,python,antlr,antlr4,Python,Antlr,Antlr4,我想在Python 2.7中使用Antl4,为此我做了以下工作: 我使用sudopacman-santlr4在Arch-Linux上安装了包antl4-4.6-1 我编写了一个MyGrammar.g4文件,并使用antlr4-Dlanguage=Python2 MyGrammar.g4 例如,现在使用python2 MyGrammarLexer.py执行生成的Lexer代码会导致错误ImportError:没有名为antlr4的模块 有什么问题吗?仅供参考:我已经安装了Python2和Pytho

我想在Python 2.7中使用Antl4,为此我做了以下工作:

  • 我使用sudopacman-santlr4在Arch-Linux上安装了包
    antl4-4.6-1

  • 我编写了一个
    MyGrammar.g4
    文件,并使用
    antlr4-Dlanguage=Python2 MyGrammar.g4

  • 例如,现在使用
    python2 MyGrammarLexer.py执行生成的Lexer代码会导致错误
    ImportError:没有名为antlr4的模块


  • 有什么问题吗?仅供参考:我已经安装了Python2和Python3,我不知道这是否会引起任何问题。

    您需要通过
    pip
    为python安装
    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
    
    或:


    我试过了,但遗憾的是它不起作用。执行pip install命令后,它会显示已满足的
    要求:antlr4-python2-runtime位于/usr/lib/python3.6/site packages
    。可能是pip在两个python版本中无法正常工作,但我不知道如何解决问题……我只是将antlr4文件从
    /usr/lib/python3.6/site packages/
    复制到
    /usr/lib/python2.7/site packages/
    ,这就解决了问题@ec-m也许您可以尝试
    sudopip2安装antlr4-python2-runtime
    ,因为这将调用python2的
    pip
    。哦,太棒了!我不知道这是可能的。谢谢:)
    python -m pip install antlr4-python2-runtime