请比较以下两个程序:
#!/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:~ $
从
pypy --version
的输出中可以看到,这是一个实现Python 2的PyPy版本。
类型注释(
i: float
语法)仅存在于Python 3中。
您需要使用实现 Python 3 的 PyPy 版本。包和二进制文件通常命名为
pypy3
,而不是 pypy
。
例如在 Ubuntu 上:https://packages.ubuntu.com/mantic/pypy3
文件列表:
/usr/bin/pypy3
[...]