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

Windows11下VSCode配置Spark内置PySpark遇模块未找到问题求助

解决Windows 11下使用Spark内置PySpark模块的ModuleNotFoundError问题

核心原因

你遇到的问题本质是:Python进程启动后通过dotenv修改PYTHONPATH无法生效——Python的模块搜索路径在进程初始化阶段就已确定,运行时修改环境变量不会同步到模块搜索路径中。

解决步骤

1. 配置系统级环境变量

直接在Windows系统中配置环境变量,确保Python进程启动前就能读取到正确路径:

  • 新增SPARK_HOME变量,值为:C:\spark-3.4.0-bin-hadoop3
  • 编辑PYTHONPATH变量(如果没有则新建),添加以下路径:
    %SPARK_HOME%\python;%SPARK_HOME%\python\lib\py4j-0.10.9.7-src.zip;%SPARK_HOME%\python\lib\pyspark.zip
    
  • 编辑Path变量,添加:%SPARK_HOME%\bin
  • 配置完成后必须重启所有终端和VSCode窗口,让环境变量生效。

2. 确认VSCode关联的Python解释器正确

  • 按Ctrl+Shift+P打开命令面板,输入Python: Select Interpreter,选择你使用的Anaconda环境(如base环境)。
  • 打开VSCode终端,执行以下命令验证环境变量:
    echo %SPARK_HOME%
    echo %PYTHONPATH%
    
    确保输出的路径与你配置的一致。

3. 简化测试代码

移除代码中加载.env的逻辑(系统环境变量已生效,无需再在代码中加载),恢复为最初的测试代码即可。

4. 验证配置有效性

在VSCode终端中执行以下操作:

python

进入Python交互环境后输入:

import pyspark
from pyspark.sql import SparkSession

如果没有报错,说明配置成功,此时运行你的测试代码即可正常执行。

注意事项

  • 不要通过pip install pyspark安装PySpark,否则会覆盖Spark内置的版本,导致版本不一致问题。
  • 环境变量配置后必须重启终端和VSCode,否则新配置的变量不会被读取。
  • 确保路径中的版本号与你的Spark版本匹配(如py4j-0.10.9.7-src.zip对应Spark 3.4.0)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 06:53:31