Относительный импорт Python3 не работает - PullRequest
0 голосов
/ 04 июля 2018

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

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

В conf_lalr.py есть строка: из жаворонка импорт 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 import 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. Тем не менее, никто не работает.

Нужно, кто-нибудь сказать, почему.

Ответы [ 2 ]

0 голосов
/ 12 июля 2018

Для запуска примеров вы должны сделать следующее:

~$ cd lark

~/lark$ python -m examples.conf_lalr
0 голосов
/ 04 июля 2018

Вам не хватает файлов init .py, чтобы сделать папки как пакеты python. Также для первой части см. это или это

...