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

运行首个PySpark项目报Python版本不匹配错误,该如何解决?

PySpark Python版本不匹配报错解决方案

报错的核心原因是Spark驱动端(Driver)和执行端(Worker)的Python次版本号不一致,PySpark要求两端小版本必须完全相同,可通过以下几种方式解决:

方案1:单次运行临时指定(最快生效)

运行PySpark脚本前,先在终端执行环境变量配置命令,统一两端Python版本:

  • Linux/macOS终端执行:
export PYSPARK_PYTHON=python3.7
export PYSPARK_DRIVER_PYTHON=python3.7
  • Windows cmd执行:
set PYSPARK_PYTHON=python3.7
set PYSPARK_DRIVER_PYTHON=python3.7

如果提示找不到Python版本,可替换为Python的绝对路径,路径可通过以下命令查询:

  • Linux/macOS:which python3.7
  • Windows:where python3.7
    也可以直接在PySpark代码开头、创建SparkSession之前配置环境变量:
import os
# 替换为你要统一使用的Python路径
os.environ['PYSPARK_PYTHON'] = '/usr/local/bin/python3.7'
os.environ['PYSPARK_DRIVER_PYTHON'] = '/usr/local/bin/python3.7'

# 后续再写原有PySpark代码
from pyspark.sql import SparkSession
# ... 其余原有代码

方案2:永久配置Spark环境变量

修改Spark安装目录下conf文件夹中的spark-env.sh(Linux/macOS)或spark-env.cmd(Windows),在文件末尾添加以下内容:

# 替换为对应Python路径
export PYSPARK_PYTHON=/usr/local/bin/python3.7
export PYSPARK_DRIVER_PYTHON=/usr/local/bin/python3.7

配置后重启Spark服务,后续所有PySpark任务都会自动使用指定的Python版本,无需每次重复配置。

方案3:统一两端Python版本(治本方案)

直接将Worker端的Python版本升级到3.7,或者将Driver端的Python版本降级到3.6,保证两端Python次版本号完全一致,集群环境下推荐使用该方案,避免后续出现版本适配问题。

注意:如果使用conda虚拟环境运行PySpark,直接将上述配置中的Python路径替换为虚拟环境内的Python二进制文件路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:57:01