一.问题描述:
joes@joes:~/jiao/Project/demo01_ws$ rosrun helloworld helloworld_p.py
[INFO] [1636100465.680519]: Hello World by python_____from Jiaozhidong
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/core.py", line 513, in _ros_atexit
signal_shutdown('atexit')
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/core.py", line 496, in signal_shutdown
if t.isAlive():
AttributeError: 'Thread' object has no attribute 'isAlive'
二.解决方法:
1.sudo gedit /opt/ros/kinetic/lib/python2.7/dist-packages/rospy/core.py
(依据自己的报警路径进行修正。)
2.搜索报警提示的 t.isAlive()
3.将t.isAlive() 改为 t.is_alive()
原因:python3对于isAlive函数不再支持,需要更新为is_alive格式。
参考:
这篇博客介绍了在运行ROS(Robot Operating System)相关Python脚本时遇到的错误:'Thread' object has no attribute 'isAlive'。作者提供了详细的解决步骤,包括编辑ros的Python文件,将t.isAlive()更改为t.is_alive(),原因是Python3中不再支持isAlive函数,需要使用is_alive。这个解决方案适用于遇到类似问题的ROS和Python开发者。
5万+

被折叠的 条评论
为什么被折叠?



