NVDA插件和Python 3

NVDA 社区正在从 Python 2 过渡到 Python 3。本页旨在记录与 Python 3 版 NVDA 兼容的插件,以及其他插件和未来 NVDA 版本的兼容性问题。

什么是过渡到Python 3 ?

Python 2.x 于 2000 年发布,是最流行的编程语言之一。随着对 Unicode、Web 技术和数千个第三方库的支持,Python 成为许多项目的首选语言,包括 2006 年的 NVDA。

2000 年末,Python 开发人员宣布了 Python 3000计划,这是一个使 Python 现代化的项目。对 Python 语法、标准库和其他基础框架进行了更改,包括打印函数、对 Unicode 的更全面支持、对标准库的更改以及更改迭代方法(如 xrange 到范围)。尽管 Python 3.x 确实使 Python 编程语言现代化,但由于 Python 2 的大规模部署,Python 开发人员决定在 2020 年 1 月之前支持 Python 2.7(Python 2 的最后一个版本),以便让人们有时间迁移到 Python 3。

2019 年 NV Access 开始过渡到Python 3的工作,以便让NVDA项目持续发展,更受欢迎 。结果是 2019 年 7 月发布的threshold版本,开始使用Python 3.7,除了 Python 3 转换之外,还包括一系列更改(如语音库API重构),这些更改将影响很多插件。即将发布的NVDA 2019.3将由Python 3.7驱动。

您需要了解的信息

Python 3 转换将影响此网站上托管的许多插件。具体来说,以下是已知的问题:

  • 插件不会加载,因为它们被 NVDA 标记为不兼容。
  • 插件确实会加载,但可以看到语法错误和模块未找到错误等错误。
  • 由于字节码不匹配,插件不会加载。
  • 插件无法正常处理文本。
  • 插件有效,但某些依赖于 Python 标准库的功能不起作用,例如网络。
  • 某些语音合成器和盲文显示插件在文本输出时表现异常。

遇到这些问题时,应联系相关插件的作者(有关本网站托管的插件的联系信息,请参阅下面的列表)。联系作者时,请务必提供详细信息。

下面是列出的插件的兼容性状态:

  • 兼容: 可以在未来的NVDA版本里使用
  • 不兼容: (代码原因导致不兼容新版本 编辑manifest.ini也无法修复;包括具有兼容性清单isuses的插件)
  • 待定: 情况不明
  • 作者已有移植计划: 作者打算在未来的某个时间开始移植插件
  • 正在进行中: 插件已通过alpha测试移植到Python 3

与 Python 3 和其他更改兼容的插件的状态

下面是本网站上托管的插件列表,以及它们与 Python 3 版本的 NVDA 的兼容性状态以及已知问题(如果有)。该列表还包括插件作者的联系信息。

注意:插件兼容性状态更改不会实时通知,请经常查看这个页面。 一种解决兼容性问题的方法是编辑插件的manifest.ini文件 但是 需要插件代码本身没有问题 下面会详细说明。