Skip to main content
 首页 » 编程设计

python之如何解决 'pyspark' 无法识别... Windows 上的错误

2024年09月07日33mate10pro

我已经尝试在我的 Windows 10 机器上安装 Spark (pyspark) 两周了,现在我意识到我需要你的帮助。

当我尝试在命令提示符下启动“pyspark”时,我仍然收到以下错误:

问题

'pyspark' is not recognized as an internal or external command, operable program or batch file.

对我来说,这暗示了路径/环境变量的问题,但我找不到问题的根源。

我的操作

我尝试了多个教程,但我发现最好的是 Michael Galarnyk 的那个.我一步步跟着他的教程:

  • 已安装 Java
  • 已安装 Anaconda
  • 从官方网站下载了 Spark 2.3.1(我相应地更改了命令,因为 Michael 的教程使用了不同的版本)。我在cmd提示符里按照教程移动了:

    mv C:\Users\patri\Downloads\spark-2.3.1-bin-hadoop2.7.tgz C:\opt\spark\spark-2.3.1-bin-hadoop2.7.tgz 
    

    然后我解压了它:

    gzip -d spark-2.3.1-bin-hadoop2.7.tgz 
    

    和

    tar xvf spark-2.3.1-bin-hadoop2.7.tar 
    
  • 已从 Github 下载 Hadoop 2.7.1 :

    curl -k -L -o winutils.exe https://github.com/steveloughran/winutils/raw/master/hadoop-2.7.1/bin/winutils.exe?raw=true 
    
  • 相应地设置我的环境变量:

    setx SPARK_HOME C:\opt\spark\spark-2.3.1-bin-hadoop2.7 
    setx HADOOP_HOME C:\opt\spark\spark-2.3.1-bin-hadoop2.7 
    setx PYSPARK_DRIVER_PYTHON jupyter 
    setx PYSPARK_DRIVER_PYTHON_OPTS notebook 
    

    然后将 C:\opt\spark\spark-2.3.1-bin-hadoop2.7\bin 添加到我的路径变量中。我的环境用户变量现在如下所示: Current Environmental Variables

这些操作应该可以解决问题,但是当我运行 pyspark --master local[2] 时,我仍然得到上面的错误。您能否使用上述信息帮助追踪此错误?

检查

我在命令提示符下运行了几个检查以验证以下内容:

  • 已安装 Java
  • Anaconda 已安装
  • pip 已安装
  • 已安装 Python

请您参考如下方法:

我通过将变量设置为“系统变量”而不是“用户变量”来解决这个问题。 注意

  1. 在我的例子中,从命令行设置变量导致“用户变量”,所以我不得不使用高级设置 GUI 将值输入为“系统变量”
  2. 您可能想排除任何安装问题,在这种情况下尝试 cd 到 C:\opt\spark\spark-2.3.1-bin-hadoop2.7\bin 并运行 pyspark master local[2 ](确保 winutils.exe 存在);如果这不起作用,那么您还有其他问题,而不仅仅是环境变量