我在python 2(箭头函数)中从模块"集合"中收到语法错误



我试图使用函数'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,因为它是最新的稳定版本,我建议使用该发行版。

最新更新