打包Sphinx v4.2报错:支持Python 2.7的最新Sphinx版本是多少?
报错原因
你遇到的SyntaxError根因是Sphinx v2.0及以上版本已完全放弃Python 2支持,代码中大量使用Python 3.5+才支持的原生类型提示语法,该语法不属于typing库的可兼容范围,Python 2.7解释器本身就无法解析,因此即便安装python2-typing也无法解决问题。
你提交的报错日志对应的代码就是Sphinx 4.2使用的Python 3专属参数类型声明语法:
========== 1733 passed, 3 skipped, 3477 warnings in 663.79s (0:11:03) ========== ==> Entering fakeroot environment... ==> Starting package()... Traceback (most recent call last): File "setup.py", line 8, in <module> import sphinx File "/home/user/Projects/aur/python2-sphinx/src/Sphinx-4.2.0/sphinx/__init__.py", line 20, in <module> from .deprecation import RemovedInNextVersionWarning File "/home/user/Projects/aur/python2-sphinx/src/Sphinx-4.2.0/sphinx/deprecation.py", line 28 def deprecated_alias(modname: str, objects: Dict[str, object], ^ SyntaxError: invalid syntax
支持Python 2.x的最新Sphinx版本
支持Python 2.7的最新官方Sphinx版本是1.8.6,这是Sphinx 1.x分支的最终维护版本,完全兼容Python 2运行环境,你可以直接通过以下命令指定版本安装:pip install sphinx==1.8.6
注意事项
- 请勿尝试在Python 2环境下安装Sphinx 2.0及以上版本,均会出现各类语法兼容问题
- Sphinx 1.8.6已停止官方维护,不会接收新功能更新和安全补丁,若条件允许建议优先将项目迁移至Python 3环境,使用最新版Sphinx获得完整支持
内容的提问来源于stack exchange,提问作者Scrooge McDuck
相关产品推荐
相关产品推荐

