首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法让urwid教程示例正常工作。

我无法让urwid教程示例正常工作。
EN

Stack Overflow用户
提问于 2013-02-05 02:40:42
回答 2查看 2.8K关注 0票数 2

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

然而,虽然第一种方法工作得很好,但大多数后一种方法似乎都不起作用。例如,尝试运行这个特定的命令:

代码语言:javascript
复制
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()

向我显示以下错误:

代码语言:javascript
复制
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位。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-05 05:23:54

我想明白了,我自己回答这个问题,以防有人遇到同样的问题。

这个问题的根源是,教程示例使用了早期版本的urwid中没有的调用,比如Ubuntu存储库中提供的调用。从源代码安装可以解决这个问题。

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

票数 5
EN

Stack Overflow用户

发布于 2013-08-07 12:00:41

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

代码语言:javascript
复制
sudo pip install urwid
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14693288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档