ROS启动gazebo出现UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\u5b8f‘ in position 492:……

ros通过launch文件启动gazebo出现的问题:

Traceback (most recent call last):
  File "/opt/ros/melodic/lib/gazebo_ros/spawn_model", line 239, in 
    exit_code = sm.run()
  File "/opt/ros/melodic/lib/gazebo_ros/spawn_model", line 149, in run
    xml_parsed = xml.etree.ElementTree.fromstring(model_xml)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1311, in XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1657, in feed
    self._parser.Parse(data, 0)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u5b8f' in position 492: ordinal not in range(128)


解决办法:

、找到/opt/ros/melodic/lib/python2.7/dist-packages(注:melodic是自己安装的版本,例:kinetic)

如何找到 /opt/ros/melodic/lib/python2.7/dist-packages:

  一:打开文件,找到其他位置,点击打开 ,然后依次找/opt/ros/melodic/lib/python2.7/dist-packages 

ROS启动gazebo出现UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\u5b8f‘ in position 492:……_第1张图片

 二、点击计算机

ROS启动gazebo出现UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\u5b8f‘ in position 492:……_第2张图片

 、找到opt

 四、找到ros

ROS启动gazebo出现UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\u5b8f‘ in position 492:……_第3张图片

 五、找到melodic(注:melodic是自己安装的版本,例:kinetic)

ROS启动gazebo出现UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\u5b8f‘ in position 492:……_第4张图片

 六、找到lib

ROS启动gazebo出现UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\u5b8f‘ in position 492:……_第5张图片

 

七、点进lib里,然后在里面新建一个sitecustomize.py文件

ROS启动gazebo出现UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\u5b8f‘ in position 492:……_第6张图片

sitecustomize.py的内容为:

#coding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')

第二种找到/opt/ros/melodic/lib/python2.7/dist-packages:

使用终端(注:melodic是自己安装的版本,例:kinetic)

参考文章:https://blog.csdn.net/qq_40660130/article/details/114840658

 

你可能感兴趣的:(ros问题,python)