Относительный импорт Python3 не работает

Я новичок в Python 3. Я пытаюсь запустить примеры жаворонков http://github.com/lark-parser/lark в режиме разработки, но был заблокирован из-за проблемы относительного импорта.

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

В conf_lalr.py есть строка: из 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

Я искал много ответов из интернета, включая stackru. Тем не менее, никто не работает.

Нужно, кто скажет почему.

2 ответа

Решение

У вас нет файлов инициализации.py, чтобы сделать папки как пакеты Python. Также для первой части, посмотрите это или это

Чтобы запустить примеры, вы должны сделать следующее:

~$ cd lark

~/lark$ python -m examples.conf_lalr
Другие вопросы по тегам