java.io.IOException:无法在Pycharm中使用Spark运行程序"python"(Windows)

aha*_*jib 5 python windows pycharm pyspark

我正在尝试使用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')
Run Code Online (Sandbox Code Playgroud)

所以现在当我导入pyspark并且一切都很好:

from pyspark import SparkContext
Run Code Online (Sandbox Code Playgroud)

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

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

当我收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

我已经将python路径添加为环境变量,并且它使用命令行正常工作,但我无法弄清楚我的问题是什么.非常感谢任何帮助或评论.

谢谢

小智 8

我有同样的问题,因为你,然后我做了以下修改:一组PYSPARK_PYTHON作为环境变量指向python.exe编辑配置 Pycharm的,这里是我的例子:

PYSPARK_PYTHON = D:\ Anaconda3 \ python.exe

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

PYTHONUNBUFFERED = 1


aha*_*jib 5

经过两天的努力,我想到了问题所在.我将以下内容添加到"PATH"变量作为windows环境变量:

C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark
C:\Python27
Run Code Online (Sandbox Code Playgroud)

请记住,您需要将目录更改为安装spark的位置,以及python的相同内容.另一方面,我必须提到我正在使用包含Hadoop的预构建版本的spark.

祝大家好运.