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

PySpark运行报错:Worker与Driver Python版本不匹配(3.9/3.10)求助

解决PySpark Python版本不匹配问题

问题根源

你设置的PYSPARK_PYTHON=/usr/bin/python3是系统自带的Python 3.9,而驱动端(Jupyter使用的是Python 3.10)版本不一致,导致PySpark Worker与Driver版本不兼容触发报错。另外你之前配置的PYSPARK_DRIVER_PYTHON末尾多了一个.,这也是无效配置。

修复步骤

  1. 确认Python 3.10的准确路径
    执行命令获取brew安装的Python 3.10根路径:

    brew --prefix python@3.10
    

    输出应为/opt/homebrew/opt/python@3.10,完整可执行路径是/opt/homebrew/opt/python@3.10/bin/python3.10。

  2. 修正环境变量配置
    打开.bash_profile(如果使用zsh则编辑.zshrc,Mac默认shell为zsh):

    vi ~/.bash_profile
    

    替换原有配置为:

    export PYSPARK_PYTHON=/opt/homebrew/opt/python@3.10/bin/python3.10
    export PYSPARK_DRIVER_PYTHON=/opt/homebrew/opt/python@3.10/bin/python3.10
    
  3. 让配置立即生效
    执行命令加载新配置:

    source ~/.bash_profile
    

    若用zsh则执行source ~/.zshrc。

  4. 验证配置正确性
    执行以下命令确认环境变量路径:

    echo $PYSPARK_PYTHON
    echo $PYSPARK_DRIVER_PYTHON
    

    输出需完全匹配Python 3.10的完整路径。

  5. 确认Jupyter的Python版本一致性
    检查Jupyter的启动脚本shebang行:

    head -n1 /opt/homebrew/bin/jupyter
    

    输出需为#!/opt/homebrew/opt/python@3.10/bin/python3.10,若不符则重新编辑修正。

  6. 重启Jupyter并测试
    关闭所有Jupyter进程,重新启动Notebook后运行测试代码:

    data = [("Java", "20000"), ("Python", "100000"), ("Scala", "3000")]
    df = spark.createDataFrame(data)
    df.show()
    

额外排查点

  • 若仍报错,检查Spark配置文件spark-env.sh,添加相同的PYSPARK_PYTHON配置,确保Worker进程能读取到正确路径。
  • 确认没有其他配置文件(如.profile)覆盖了当前环境变量设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:22:46