【问题标题】:I am unable to get urwid tutorial examples to work我无法让 urwid 教程示例正常工作
【发布时间】:2013-02-04 18:40:42
【问题描述】:

作为 Python 和 urwid 的新手,我在这里尝试了教程示例 http://excess.org/urwid/docs/tutorial/

但是,虽然第一个确实可以正常工作,但后面的大多数似乎都无法正常工作。例如,尝试运行这个特定的:

import urwid

choices = u'Chapman Cleese Gilliam Idle Jones Palin'.split()

def menu(title, choices):
    body = [urwid.Text(title), urwid.Divider()]
    for c in choices:
        button = urwid.Button(c)
        urwid.connect_signal(button, 'click', item_chosen, c)
        body.append(urwid.AttrMap(button, None, focus_map='reversed'))
    return urwid.ListBox(urwid.SimpleFocusListWalker(body))

def item_chosen(button, choice):
    response = urwid.Text([u'You chose ', choice, u'\n'])
    done = urwid.Button(u'Ok')
    urwid.connect_signal(done, 'click', exit_program)
    main.original_widget = urwid.Filler(urwid.Pile([response,
        urwid.AttrMap(done, None, focus_map='reversed')]))

def exit_program(button):
    raise urwid.ExitMainLoop()

main = urwid.Padding(menu(u'Pythons', choices), left=2, right=2)
top = urwid.Overlay(main, urwid.SolidFill(u'\N{MEDIUM SHADE}'),
    align='center', width=('relative', 60),
    valign='middle', height=('relative', 60),
    min_width=20, min_height=9)
urwid.MainLoop(top, palette=[('reversed', 'standout', '')]).run()

向我显示以下错误:

Traceback (most recent call last):
  File "example.py", line 23, in <module>
    main = urwid.Padding(menu(u'Pythons', choices), left=2, right=2)
  File "example.py", line 11, in menu
    return urwid.ListBox(urwid.SimpleFocusListWalker(body))
AttributeError: 'module' object has no attribute 'SimpleFocusListWalker'

我做错了吗? 如果它有任何帮助,我正在运行 Ubuntu 12.10 64 位。

【问题讨论】:

    标签: python linux console urwid


    【解决方案1】:

    我想通了,我自己回答,以防万一有人遇到同样的问题。

    这个问题的根源在于教程示例使用了早期版本的 urwid 上不存在的调用,例如 Ubuntu 存储库中可用的调用。从源代码安装解决了这个问题。

    如果从源代码安装时遇到问题,请确保已安装 python-dev 软件包。

    【讨论】:

      【解决方案2】:

      我已经用pip 安装了它。 在终端中你必须写:

      sudo pip install urwid
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多