写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.53233109 - 无标题 - 技术宅


回应模式
No.53233109
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

无标题 无名氏 2022-11-05(六)19:35:40 ID:qHjXGyP [举报] [订阅] [只看PO] No.53233109 [回应] 管理
python新手,打算用pygame写游戏,然后发现书上介绍livewires包,感觉功能很全,然后就pip3 install下载了一个。结果用不了,一看代码发现一大堆过时表达式。于是就着网上传的修改版(缺了好些功能)试着修了几个小时,没成。
当然这很正常,毕竟上千行代码不是一时半会能看完的,但是还是问一下,有无大佬肥哥修过源码,是否能帮忙提供一下?至少,有没有livewires修改及使用经验介绍一下?谢谢各位了!
Tips 无名氏 2099-01-01 00:00:01 ID:Tips超级公民 [举报] No.9999999 管理
(=゚ω゚)=是不是冷场了,埋一下
无标题 无名氏 2022-11-05(六)19:52:36 ID:1b296le [举报] No.53233495 管理
啥书?这包可能没人维护过时了吧?
查了一下,最新是2013年的版本,都快十年前的东西了,确定不是python2的包?
无标题 无名氏 2022-11-05(六)19:55:36 ID:1b296le [举报] No.53233569 管理
建议直接用pygame
无标题 无名氏 2022-11-05(六)20:13:18 ID:qHjXGyP (PO主) [举报] No.53233948 管理
>>No.53233495
这是书,校图书馆搞来的,确实年代久远,但是凑合着能用。大概网上流传的修改版就是这书作者编的。但是照比原版好像增增减减了很多东西。
要真是python2时代的东西也说不定。
当然直接用pygame也可以,就是一大堆功能就得要自己写了(;´Д`)
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2022-11-05(六)20:22:44 ID:qHjXGyP (PO主) [举报] No.53234206 管理
>>No.53233948
(图怎么没了)
无标题 无名氏 2022-11-06(日)17:09:44 ID:THqu6kc [举报] No.53255117 管理
python2 应该大部分可以用 2to3.py 自动转换的,pip3 install 安装旧包自动 2to3 的

我稍微看了一下, 2to3 过两遍之后,存在的遗留问题是在 beginners.py

%s/tkinter.tkinter.DONT_WAIT/tkinter._tkinter.DONT_WAIT
%s/d_o_e=_root_window.tk.dooneevent/d_o_e=None
%s/d_o_e(/(d_o_e or _root_window.tk.dooneevent)(
%s/raw_input/input

是因为 tkinter 的结构发生了变化,现在 DONT_WAIT 放的位置改变了,并且 dooneevent ( do one event ) 必须绑定到一个 root window,正好有一个全局的 _root_window 但它延迟启动,所以采用 None + or 的方式取巧了
还有 raw_input 没改成 input,可能是因为它是被赋值就没被 2to3 发现

另外,引入了 eval 可能造成漏洞,如果有必要请用 literal_eval
除此以外,怀疑另有行为上的错误,请自行考虑。
除此以外,tk 是否有更多问题,我不知道。
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2022-11-11(五)17:45:30 ID:qHjXGyP (PO主) [举报] No.53387207 管理
>>No.53255117
感谢大佬回复,但是好像问题不止这点。
先说一下我做了什么。暂时把之前修的东西移出去了,又下载了一遍原来那个应该有问题的包。
第一步import livewires,报错找不到beginners模块。后来想了一下,把__init__里的第32行改成了from livewires.beginners import *(原来是from beginners import *)
现在livewires载入不会报模块导入错误了,但是报SyntaxError(可能来自于版本更新的错误)。如图。似乎现在版本不接受raise BalabalaError , "str_text"的形式。出于某种原因没有被转化或者怎样。
目前猜测可以做的事情:把代码用2to3转换一下试试,但是不太会用,还望指点一下。
以及原回复中指出的遗留问题所在文件及行数位置还望告知。
再次感谢回复!还希望再帮帮我,谢谢!
(修改了默认字体,希望不会对阅读有什么影响)

UP主: