【问题标题】:Python3 Relative Import Is not WorkingPython3 相对导入不起作用
【发布时间】:2018-07-04 14:01:48
【问题描述】:

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

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

在 conf_lalr.py 中有一行: 从云雀进口云雀 由于我想使用相对导入,因此我使用以下方法对其进行了更新:

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。但是,没有一个有效。

需要有人告诉原因。

【问题讨论】:

    标签: python-3.x relative-import


    【解决方案1】:

    您缺少 init.py 文件,无法将文件夹设置为 python 包。 还有第一部分,见thisthis

    【讨论】:

      【解决方案2】:

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

      ~$ cd lark
      
      ~/lark$ python -m examples.conf_lalr
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-08
        • 2014-10-31
        • 2018-07-10
        • 1970-01-01
        • 2022-06-15
        • 2015-04-30
        • 1970-01-01
        • 2020-01-12
        相关资源
        最近更新 更多