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

Windows环境下PySpark执行df.show()提示Python未找到的问题求助

问题描述

在Windows系统中通过Anaconda终端的spark命令打开PySpark Shell,可正常创建DataFrame,但执行df.show()时弹出提示:

Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases.

同时抛出错误:

raise Py4JJavaError(
py4j.protocol.Py4JJavaError: An error occurred while calling o52.showString.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent failure: Lost task 0.0 in stage 0.0 (TID 0) (LAPTOP-4407EI48 executor driver): org.apache.spark.SparkException: Python worker failed to connect back.

执行的命令:

# Create DataFrame in PySpark Shell
data = [("Java", "20000"), ("Python", "100000"), ("Scala", "3000")]
df = spark.createDataFrame(data)
df.show()

已配置的环境变量:

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_351
PATH = %PATH%;C:\Program Files\Java\jdk1.8.0_351\bin

SPARK_HOME  = C:\apps\opt\spark-3.3.1-bin-hadoop2
HADOOP_HOME = C:\apps\opt\spark-3.3.1-bin-hadoop2
PATH=%PATH%;C:\apps\opt\spark-3.3.1-bin-hadoop2\bin
解决方案

1. 禁用Microsoft Store的Python别名

Windows默认会把python命令指向Microsoft Store的安装入口,导致Spark调用Python时出错:

  • 打开Windows设置 → 应用 → 应用执行别名
  • 找到python.exe和python3.exe的开关,关闭这两个选项

2. 配置PYSPARK_PYTHON环境变量

Spark需要明确指定Python解释器路径,避免调用系统默认的无效路径:

  • 新增系统环境变量PYSPARK_PYTHON,值为Anaconda环境的Python路径(例如C:\Users\你的用户名\anaconda3\python.exe,或你使用的虚拟环境Python路径)
  • 同时新增PYSPARK_DRIVER_PYTHON,值与PYSPARK_PYTHON保持一致

3. 验证环境变量生效

  • 关闭所有Anaconda终端,重新打开
  • 执行echo %PYSPARK_PYTHON%,确认输出正确的Python路径
  • 重启PySpark Shell,执行df.show()测试

4. 调整PATH变量顺序

确保Anaconda的Python路径在PATH最前端,避免系统其他Python路径干扰:

  • 编辑系统PATH变量,将Anaconda的主目录(如C:\Users\你的用户名\anaconda3)和Scripts目录(如C:\Users\你的用户名\anaconda3\Scripts)移到PATH列表最顶部

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:20:32