2017-09-06 6 views
1

私はANTLRで開始しようとしています。モジュールantlrをインポートするとうまくいきますが、インポートしようとするとMyGrammarLexerMyGrammarParserは、MyGrammarLexerとParserがlibにないことを示しています。私はPyCharmを使用して、私はANTLRをインストール:私はMyGrammarLexerとMyGrammarParserをインポートすることができない理由モジュールANTLRをインポートできません。MyGrammarLexerとMyGrammarParser

import sys 
from antlr4 import * 
import MyGrammarLexer 
import MyGrammarParser 


def main(argv): 
    input = FileStream(argv[1]) 
    lexer = MyGrammarLexer(input) 
    stream = CommonTokenStream(lexer) 
    parser = MyGrammarParser(stream) 
    tree = parser.startRule() 


if __name__ == '__main__': 
    main(sys.argv) 

多分知っている:PIP3は私のコードがあるantlr4-のpython3-ランタイムをインストール? お勧めします! Tackback: ModuleNotFoundError: No module named '__builtin__'

インポートしようとするパッケージはpython2構文を使用している、しかし、あなたはのpython3を使用していることを意味し:

/usr/bin/python3.6 /home/andrejka/PycharmProjects/Parser/parser.py 
Traceback (most recent call last): 
    File "/home/andrejka/PycharmProjects/Parser/parser.py", line 2, in <module> 
    from antlr4 import * 
    File "/usr/lib/python3/dist-packages/antlr4/__init__.py", line 5, in <module> 
    from antlr4.BufferedTokenStream import TokenStream 
    File "/usr/lib/python3/dist-packages/antlr4/BufferedTokenStream.py", line 19, in <module> 
    from antlr4.error.Errors import IllegalStateException 
    File "/usr/lib/python3/dist-packages/antlr4/error/Errors.py", line 5, in <module> 
    from antlr4.atn.Transition import PredicateTransition 
    File "/usr/lib/python3/dist-packages/antlr4/atn/Transition.py", line 19, in <module> 
    from __builtin__ import unicode 
ModuleNotFoundError: No module named '__builtin__' 
Error in sys.excepthook: 
Traceback (most recent call last): 
    File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook 
    from apport.fileutils import likely_packaged, get_recent_crashes 
    File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> 
    from apport.report import Report 
    File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module> 
    import apport.fileutils 
    File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module> 
    from apport.packaging_impl import impl as packaging 
    File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module> 
    import apt 
    File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module> 
    import apt_pkg 
ModuleNotFoundError: No module named 'apt_pkg' 

Original exception was: 
Traceback (most recent call last): 
    File "/home/andrejka/PycharmProjects/Parser/parser.py", line 2, in <module> 
    from antlr4 import * 
    File "/usr/lib/python3/dist-packages/antlr4/__init__.py", line 5, in <module> 
    from antlr4.BufferedTokenStream import TokenStream 
    File "/usr/lib/python3/dist-packages/antlr4/BufferedTokenStream.py", line 19, in <module> 
    from antlr4.error.Errors import IllegalStateException 
    File "/usr/lib/python3/dist-packages/antlr4/error/Errors.py", line 5, in <module> 
    from antlr4.atn.Transition import PredicateTransition 
    File "/usr/lib/python3/dist-packages/antlr4/atn/Transition.py", line 19, in <module> 
    from __builtin__ import unicode 
ModuleNotFoundError: No module named '__builtin__' 
+0

エラーからトラッキングを送信できますか? –

+0

私の投稿を編集してください。モジュールのインストールを手伝ってもらえますか? – Andrej

答えて

0

あなたのトレースバックを掲示した後、私はエラーがある見ることができます。

このパッケージを実行する必要がある場合はpython2を使用する必要がありますが、これが新しいプロジェクトの場合は、別のものを検索することをお勧めします。

それはhere

EDIT を働いていない理由の詳細を彼らはのpython3サポートしてpackageをリリースし、あなたがインストールさそうです/別の何かを使用していました。確認する必要があります。

+0

またはDuan、それをインストールするのを手伝ってもらえますか? :/私は本当にこのモジュールをインストールするのにずっと時間をかけています。 – Andrej

0

私は、パッケージの内容ことが判明:

https://pypi.python.org/packages/0b/6b/30c5b84d203b62e1412d14622e3bae6273399d79d20f3a24c8145213f610/antlr4-python3-runtime-4.7.tar.gz#md5=190245a0fb4abf43568489a4b6e33aba

がPIP3によってインストールされたパッケージは異なっています。私がダウンロードしたパッケージの内容を

~/anaconda3/envs/py3/lib/python3.6/site-packages/antlr4 

、手動で抽出:

私はの内容を交換した

~/Downloads/antlr4-python3-runtime-4.7/src/antlr4 
それは今働いているようだ

- 特に以下のエラーに:

​​

は発生しません。

関連する問題