gpt4 book ai didi

python - 我无法使 urwid 教程示例正常工作

转载 作者:太空狗 更新时间:2023-10-29 11:38:36 27 4
gpt4 key购买 nike

作为 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 位。

最佳答案

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

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

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

关于python - 我无法使 urwid 教程示例正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693288/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com