在 pypy 中键入注释会出错,但在 python3 中可以工作

问题描述 投票:0回答:1

请比较以下两个程序:

#!/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 完全兼容。可能发生什么事?

在我的 Ubuntu 上安装 pypy 只需几分钟。我正在运行 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:~  $ 
python ubuntu pypy type-annotation
1个回答
0
投票

pypy --version
的输出中可以看到,这是一个实现Python 2的PyPy版本。

类型注释(

i: float
语法)仅存在于Python 3中。

您需要使用实现 Python 3 的 PyPy 版本。包和二进制文件通常命名为

pypy3
,而不是
pypy

例如在 Ubuntu 上:https://packages.ubuntu.com/mantic/pypy3

文件列表:

/usr/bin/pypy3
[...]
© www.soinside.com 2019 - 2024. All rights reserved.