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

命令行pyspark运行正常,执行文件却提示‘No module named pyspark’的原因

解决pyspark命令可运行但脚本提示"No module named pyspark"的问题

核心原因

直接运行Python脚本时,系统未加载pyspark命令自动配置的Spark环境变量,导致Python解释器找不到pyspark模块。

解决方案

1. 在脚本开头手动添加Spark路径

找到你的Spark安装目录,在脚本最顶部插入以下代码(替换实际路径):

import sys
import os
# 替换为你的Spark安装路径
spark_home = "/opt/spark"
sys.path.insert(0, os.path.join(spark_home, "python"))
# 注意py4j的版本号要匹配你Spark目录里的实际文件
sys.path.insert(0, os.path.join(spark_home, "python/lib/py4j-0.10.9.7.zip"))

2. 配置全局环境变量

将Spark的Python路径加入系统PYTHONPATH,确保所有Python环境都能识别:

  • Linux/macOS:在~/.bashrc或~/.zshrc中添加:
    export SPARK_HOME=/opt/spark
    export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-*.zip:$PYTHONPATH
    
    执行source ~/.bashrc(对应你的配置文件)使配置生效。
  • Windows:在系统环境变量中新增PYTHONPATH,值设为:
    %SPARK_HOME%\python;%SPARK_HOME%\python\lib\py4j-*.zip
    

3. 用spark-submit运行脚本

直接使用Spark官方提交命令,它会自动加载所有必要的环境配置:

spark-submit your_script.py

4. 统一Python解释器

确认pyspark使用的Python和你运行脚本的Python是同一个版本:

  • 启动pyspark后,在Shell中执行:import sys; print(sys.executable),得到Python路径
  • 用该路径运行脚本:/path/to/python your_script.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:02:02