我试图使用函数'Counter'(来自集合)做一些事情。
我得到了以下错误:
File "/home/knut/catkin_ws/src/knut_ai_vehicle_2019/scripts/CameraStatus.py", line 5, in <module>
from collection import Counter
File "/home/knut/.local/lib/python2.7/site-packages/collection/__init__.py", line 1, in <module>
from .Collection import Collection
File "/home/knut/.local/lib/python2.7/site-packages/collection/Collection.py", line 22
def __init__(self, items) -> None:
^
SyntaxError: invalid syntax
这个脚本在ROS包中,据我所知ROS只支持python2。(我说的对吗?)
我用的是python2
我不知道,但是……我猜这是一个来自Python 2不再更新的问题。实际上,我从来没有见过那个箭头函数。
我一直在找,但我不明白为什么那个箭头会引起问题。
我唯一做的就是使用pip安装并导入'collection'。我希望任何遇到这个错误的人都能帮助我。
->
就是所谓的函数注释。函数注释在某种程度上与python 2如何。X有文档字符串。它们允许您将元数据附加到函数中,在本例中,->
是函数返回类型的注释。你可以在这里做一些关于注释的更完整的阅读。
你遇到的问题是来自注解是一个3的事实。因此它在2.x中是无效的语法。至于你需要python2的观点。x表示ROS,这是不对的。ROS Noetic支持Python3,因为它是最新的稳定版本,我建议使用该发行版。