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

xqnpmsa8  于 2024-01-06  发布在  Python
关注(0)|答案(1)|浏览(267)

请比较以下两个方案:

  1. #!/usr/bin/env pypy
  2. i: float = 5.0

字符串
还有这个

  1. #!/usr/bin/env python3
  2. i: float = 5.0


第一个失败:

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


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

  1. 2023_11_25 14:57:08 maot@hunsn:~ $ pypy --version
  2. Python 2.7.18 (7.3.9+dfsg-1, Apr 01 2022, 21:40:34)
  3. [PyPy 7.3.9 with GCC 11.2.0]
  4. 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

  1. /usr/bin/pypy3
  2. [...]

字符串

相关问题