You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.13缺失typing模块,如何绕过该问题启动PySpark?

解决Python 3.13下启动PySpark的typing模块报错问题

报错信息

PS C:\spark-3.4.4-bin-hadoop3\bin> pyspark
Python 3.13.3 (tags/v3.13.3:6280bb5, Apr  8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "C:\spark-3.4.4-bin-hadoop3\python\pyspark\shell.py", line 31, in <module>
    import pyspark
  File "C:\spark-3.4.4-bin-hadoop3\python\pyspark\__init__.py", line 65, in <module>
    from pyspark.broadcast import Broadcast
  File "C:\spark-3.4.4-bin-hadoop3\python\pyspark\broadcast.py", line 38, in <module>
    from typing.io import BinaryIO  # type: ignore[import]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'typing.io'; 'typing' is not a package

问题原因

PySpark 3.4.4版本发布时未适配Python 3.13,而Python 3.13中移除了typing.io模块(相关IO类型已迁移至标准库io模块),导致代码引用失效触发报错。

解决方法

  • 降级Python版本
    安装Python 3.12及以下版本(PySpark 3.4.x官方支持的最高Python版本为3.12),配置PySpark使用该版本Python后重新启动。

  • 升级PySpark到兼容版本
    升级至PySpark 3.5.0及以上版本,这些版本已适配Python 3.13的typing模块变更。执行以下命令完成升级:

    pip install --upgrade pyspark
    

    升级后即可正常启动pyspark。

  • 临时修改PySpark源码(不推荐)
    找到报错文件C:\spark-3.4.4-bin-hadoop3\python\pyspark\broadcast.py,将第38行的from typing.io import BinaryIO替换为from io import BinaryIO,保存后再启动pyspark。此方法仅为临时绕过方案,后续升级PySpark会覆盖修改,不建议长期使用。

内容的提问来源于stack exchange,提问作者digi store

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:40:19