【问题标题】:java.io.IOException: Cannot run program "python" using Spark in Pycharm (Windows)java.io.IOException:无法在 Pycharm 中使用 Spark 运行程序“python”(Windows)
【发布时间】:2015-11-22 04:03:20
【问题描述】:

我正在尝试在 Pycharm 中使用 Spark 编写一个非常简单的代码,而我的操作系统是 Windows 8。我一直在处理几个问题,除了一个之外,这些问题都设法解决了。当我使用 pyspark.cmd 运行代码时,一切正常,但我在 pycharm 中使用相同的代码没有运气。我使用以下代码修复了 SPARK_HOME 变量存在问题:

import sys
import os
os.environ['SPARK_HOME'] = "C:/Spark/spark-1.4.1-bin-hadoop2.6"
sys.path.append("C:/Spark/spark-1.4.1-bin-hadoop2.6/python")
sys.path.append('C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark')

所以现在当我导入 pyspark 并且一切正常时:

from pyspark import SparkContext

当我想运行我的其余代码时,问题就出现了:

logFile = "C:/Spark/spark-1.4.1-bin-hadoop2.6/README.md"
sc = SparkContext()
logData = sc.textFile(logFile).cache()
logData.count()

当我收到以下错误时:

15/08/27 12:04:15 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0)
java.io.IOException: Cannot run program "python": CreateProcess error=2, The system cannot find the file specified

我已将 python 路径添加为环境变量,并且使用命令行可以正常工作,但我无法弄清楚这段代码的问题所在。非常感谢任何帮助或评论。

谢谢

【问题讨论】:

    标签: python windows pycharm pyspark


    【解决方案1】:

    我遇到了和你一样的问题,然后我做了以下更改: 在 Pycharm 的 Edit Configurations 中将 PYSPARK_PYTHON 设置为环境变量以指向 python.exe,这是我的示例:

    PYSPARK_PYTHON = D:\Anaconda3\python.exe

    SPARK_HOME = D:\spark-1.6.3-bin-hadoop2.6

    PYTHONUNBUFFERED = 1

    【讨论】:

      【解决方案2】:

      我遇到过这个问题,是集群的diff节点上的python版本冲突引起的,可以通过

      export PYSPARK_PYTHON=/usr/bin/python
      

      在不同的节点上是相同的版本。然后开始:

      pyspark
      

      【讨论】:

        【解决方案3】:

        在为此苦苦挣扎了两天后,我想出了问题所在。我将以下内容添加到“PATH”变量中作为 Windows 环境变量:

        C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark
        C:\Python27
        

        请记住,您需要将目录更改为安装 spark 的位置,对于 python 也是如此。另一方面,我不得不提一下,我正在使用包含 Hadoop 的 spark 的预构建版本。

        祝大家好运。

        【讨论】:

        • 我尝试将上述行添加到我的 PATH 变量中,但仍然没有成功。从 Eclipse 执行时,我仍然收到错误消息。我的路径变量就像:%{EXISTING_PATH}%;%PY_HOME%;%PY_HOME%\Scripts;%SPARK_HOME%\bin;%SPARK_HOME%\python\pyspark 我试着把 spark 变量放在第一个,pythong 第二个放在 %{EXISTING_PATH} %;%SPARK_HOME%\bin;%SPARK_HOME%\python\pyspark;%{EXISTING_PATH}%;%PY_HOME%;%PY_HOME%\Scripts;%SPARK_HOME%\bin;%SPARK_HOME%\python\pyspark %PY_HOME% = C :\Python2.7.11 %SPARK_HOME% = C:\Spark1.6Hadoop2.6
        • 我已通过以下链接完成所有操作:enahwe.blogspot.in/p/…
        【解决方案4】:

        除了PYTHONPATHSPARK_HOME 变量之外,我还必须将SPARK_PYTHONPATH 设置为环境变量以指向python.exe 文件

        SPARK_PYTHONPATH=C:\Python27\python.exe
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-05-12
          • 1970-01-01
          • 1970-01-01
          • 2022-08-23
          • 2013-02-14
          • 1970-01-01
          • 2020-04-13
          • 2019-12-13
          相关资源
          最近更新 更多