服务器端Python脚本运行报错:easygui的buttonbox参数异常
看起来你遇到的坑是本地和服务器的easygui版本不匹配导致的,我之前也碰到过类似情况,给你几个可行的解决思路:
核心原因
你本地的easygui版本里,buttonbox()函数接受msg作为关键字参数,但服务器上安装的版本已经把这个参数名改成了message(从报错信息能明确服务器版本不识别msg),版本差异导致了参数兼容问题。
具体解决方案
统一关键字参数名:直接把代码里的
msg=msg改成服务器版本支持的参数名。如果服务器上的easygui要求用message,修改后代码如下:reply = buttonbox(message=msg, image=IMG)你也可以在服务器的Python交互环境里输入
help(easygui.buttonbox),直接查看该函数的参数定义确认。同步本地和服务器的easygui版本:
- 先在本地终端运行
pip show easygui,记下版本号(比如0.98.3) - 登录服务器,运行
pip install easygui==x.x.x(把x.x.x换成你本地的版本号),两边版本统一后代码无需修改。
- 先在本地终端运行
兼容式写法(临时快速修复):如果不想改参数名也不想换版本,可以用位置参数传递消息内容,这样不管版本参数名是
msg还是message都能正常运行:reply = buttonbox(msg, image=IMG)
这样应该就能解决你的问题啦,毕竟你已经能临时规避,核心就是版本间的参数名差异~
内容的提问来源于stack exchange,提问作者TheFarmGuy
相关产品推荐
相关产品推荐

