ubuntu pypy中的类型注解给予一个错误,但在python3中工作

xqnpmsa8  于 5个月前  发布在  Python
关注(0)|答案(1)|浏览(87)

请比较以下两个方案:

#!/usr/bin/env pypy

i: float = 5.0

字符串
还有这个

#!/usr/bin/env python3

i: float = 5.0


第一个失败:

File "./pypy_test.py", line 3
    i: float = 5.0
     ^
SyntaxError: invalid syntax


第二个只是运行。我以为pypy和Python是完全兼容的。这是怎么回事?
pypy在我的Ubuntu上的安装时间只有几分钟,我运行的是Python 3.10.12。

2023_11_25 14:57:08 maot@hunsn:~  $ pypy --version
Python 2.7.18 (7.3.9+dfsg-1, Apr 01 2022, 21:40:34)
[PyPy 7.3.9 with GCC 11.2.0]
2023_11_25 14:57:11 maot@hunsn:~  $

wa7juj8i

wa7juj8i1#

pypy --version的输出中可以看到,这是一个实现Python 2语言的PyPy版本。
类型注解(i: float语法)只存在于Python 3语言中。特别是,变量注解是由PEP 526引入Python 3.6的。
您需要使用实现Python 3的PyPy版本。包和二进制文件通常命名为pypy3,而不是pypy
例如,在Ubuntu上:https://packages.ubuntu.com/mantic/pypy3
File list

/usr/bin/pypy3
[...]

字符串

相关问题