导入vpython仅执行import语句却触发除零错误求助
解决vpython导入后退出时的除零错误
这个错误是vpython库退出清理逻辑里的代码瑕疵,不影响vpython核心功能,但会在终端输出报错信息。
快速解决办法
方法一:添加可视化代码触发完整初始化
不要只单独执行import vpython,加一行简单的可视化代码,比如创建一个基础3D对象:import vpython vpython.sphere() # 初始化可视化窗口,让库完成全流程初始化这样退出时内部变量会被正确赋值,不会触发除零错误。
方法二:手动注销有问题的退出回调
如果只是想验证安装,不想创建可视化窗口,可以直接去掉那个有问题的退出函数:import vpython import atexit atexit.unregister(vpython.Exit)
原因说明
vpython的vpython.py文件里的Exit函数(退出时自动执行的清理函数)写了a = 1.0/zero的代码,但如果只导入库不创建任何可视化元素,zero变量不会被初始化赋值,默认是0,就会触发除零错误。只要触发了可视化窗口的初始化,zero会被设为非零值,退出时就不会报错。
内容的提问来源于stack exchange,提问作者Jaime Yepes de Paz
相关产品推荐
相关产品推荐

