0

我是 python 3 的新手。我正在尝试在开发模式下运行 lark 示例http://github.com/lark-parser/lark,但因相关导入问题而被阻止。

lark
  |examples
  |     |
  |     |conf_lalr.py
  |
  |lark
  |  |
  |  |lark.py
     |
     |tools
     |    |
          |common.py

在 conf_lalr.py 中有一行: from lark import Lark 由于我想使用相对导入,所以我用以下方法更新它:

1、从..lark.lark导入Lark

Traceback (most recent call last):
  File "conf_lalr.py", line 16, in <module>
    from ..lark.lark import Lark
ValueError: attempted relative import beyond top-level package

2、从.lark.lark导入Lark

Traceback (most recent call last):
  File "conf_lalr.py", line 16, in <module>
    from .lark.lark import Lark
ModuleNotFoundError: No module named '__main__.lark'; '__main__' is not a package

我从互联网上搜索了很多答案,包括 stackoverflow。但是,没有一个工作。

需要有人告诉为什么。

4

2 回答 2

1

您缺少init .py 文件,无法将文件夹制作为 python 包。同样对于第一部分,请参阅

于 2018-07-04T14:36:59.870 回答
0

要运行示例,您应该执行以下操作:

~$ cd lark

~/lark$ python -m examples.conf_lalr
于 2018-07-12T05:52:03.367 回答