Ros中编译python包时,出现SyntaxError: Non-ASCII character ‘\xe5‘报错

起因

在学习ROS时,尝试写一个python包,在catkin_make编译时出现报错:
SyntaxError: Non-ASCII character ‘\xe5’ in file /home/pb/my_ws/helloword_ws/src/helloworld/scripts/helloworld_p.py on line 8, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
异常代码如下:

#! /usr/bin/env python


import rospy

if __name__=="__main__":

    # 初始化节点
    rospy.init_node("hello_py") 
    # 输出日志
    rospy.loginfo("Hello world!")

原因

经过排查原因是因为代码里使用了中文注释,Python的源代码文件默认使用ASCII编码,无法识别中文

解决方法

如果要继续使用中文注释,就需要在文件的开头添加一个编码声明,告诉Python解释器使用哪种编码来正确读取文件。
中文可以采用utf-8编码方式,在python文件的开头添加:

# coding: utf-8

这样继续在代码里添加中文注释,继续使用 catkin_make 指令不会再报此错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值