Python Enaml "id: неверный синтаксис"

Я пытаюсь использовать идентификаторы в файле enaml и когда я запускаю программу с

enaml-run hello_world.enaml 

Я получаю этот вывод

File "hello_world.enaml", line 10
    id: pb1
SyntaxError: invalid syntax

Вывод всегда выдает неверную синтаксическую ошибку для идентификатора. Как правильно идентифицировать идентификаторы?

Источник:

from enaml.layout.api import vbox, hbox, spacer, align
from enaml.widgets.api import (Window, Container, GroupBox, Form, PushButton, 
    CheckBox, RadioButton, Label, ScrollArea, ToolBar, Action, ActionGroup, 
    Splitter, Field)

enamldef Left(Container):
    GroupBox:
        title="Consoles"
        PushButton:
            id: pb1
            text="hello"

enamldef Right(Container):
    Label:
        text="Yo"

enamldef Bottom(ToolBar):
    PushButton:
        Field:
            text="Search..."

enamldef Main(Window):
    title="RetroArch"
    initial_size = (800,600)
    Container:
        Splitter:
            Left:lt:
                pass
            Right:rt:
                pass
        Bottom:
            pass

2 ответа

Тег 'id' устарел в версии 0.7.0 и полностью удален в версии 0.8.0. Правильный способ объявления идентификаторов - встроенный после типа элемента, например:

PushButton: pb1:
    pass

Репозиторий для Enaml перенесен с версией 0.7.0 сюда: https://github.com/nucleic/enaml

и самая последняя версия документации теперь здесь: http://nucleic.github.io/enaml/docs/

Документы (например, структура) все еще находятся в стадии разработки.

Если у вас возникнут какие-либо проблемы, не стесняйтесь открывать проблему на трекере (пока я не настрою правильный список).

Источник: я автор Enaml

Это комментарий, но я публикую его как ответ, так как у меня пока недостаточно репутации, чтобы оставлять комментарии. Я могу нормально запустить ваш пример с enaml 0.6.8, так что, возможно, ваша версия enaml отключена?

Еще одна вещь, которую нужно проверить, - можете ли вы запускать примеры в документах enaml, например, этот, который также использует идентификаторы.

Другие вопросы по тегам