Python2下导入collection模块Counter触发箭头语法错误如何解决?
错误原因
- 报错中的
->是Python3.5及以上版本才支持的函数返回值类型提示语法,Python2解释器完全不识别该语法,因此直接抛出语法错误。 - 你通过pip安装的第三方
collection(末尾不带s)包仅适配Python3环境,源码中大量使用Python3专属语法,在Python2下运行必然报错。 - 你存在模块名拼写错误:Python官方标准库中提供Counter功能的模块名为
collections(末尾带s),该模块属于Python2.7的标准内置模块,不需要通过pip额外安装。
解决方法
- 先卸载错误安装的第三方
collection包,执行命令:
pip uninstall collection -y
- 修改代码中的导入语句,将原有
from collection import Counter替换为:
from collections import Counter
你使用的ROS版本默认绑定的Python2.7环境原生携带完整的collections标准库,修改完成后即可直接正常使用Counter功能,无需安装其他依赖。
内容的提问来源于stack exchange,提问作者Jue
相关产品推荐
相关产品推荐

