java.io.IOException:无法在 Pycharm 中使用 Spark 运行 编程 "python" (Windows)
java.io.IOException: Cannot run program "python" using Spark in Pycharm (Windows)
我正在尝试在 Pycharm 中使用 Spark 编写一个非常简单的代码,而我的 os 是 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 路径添加为环境变量,并且它可以使用命令行正常工作,但我无法弄清楚这段代码的问题所在。非常感谢任何帮助或评论。
谢谢
折腾了两天,终于明白问题出在哪里了。我将以下内容添加到 "PATH" 变量作为 windows 环境变量:
C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark
C:\Python27
请记住,您需要将目录更改为安装 spark 的目录,python 也是如此。另一方面,我不得不提到我正在使用包含 Hadoop 的 spark 预构建版本。
祝大家好运。
我遇到过这个问题,是集群的diff节点python版本冲突导致的,所以可以通过
解决
export PYSPARK_PYTHON=/usr/bin/python
差异节点上的版本相同。然后开始:
pyspark
除了 PYTHONPATH
和 SPARK_HOME
之外,我还必须将 SPARK_PYTHONPATH
设置为环境变量以指向 python.exe 文件变量为
SPARK_PYTHONPATH=C:\Python27\python.exe
我遇到了和你一样的问题,然后我做了以下修改:
将 PYSPARK_PYTHON 设置为环境变量以指向 python.exe Edit Configurations Pycharm,这是我的例子:
PYSPARK_PYTHON = D:\Anaconda3\python.exe
SPARK_HOME = D:\spark-1.6.3-bin-hadoop2.6
PYTHONUNBUFFERED = 1
我正在尝试在 Pycharm 中使用 Spark 编写一个非常简单的代码,而我的 os 是 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 路径添加为环境变量,并且它可以使用命令行正常工作,但我无法弄清楚这段代码的问题所在。非常感谢任何帮助或评论。
谢谢
折腾了两天,终于明白问题出在哪里了。我将以下内容添加到 "PATH" 变量作为 windows 环境变量:
C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark
C:\Python27
请记住,您需要将目录更改为安装 spark 的目录,python 也是如此。另一方面,我不得不提到我正在使用包含 Hadoop 的 spark 预构建版本。
祝大家好运。
我遇到过这个问题,是集群的diff节点python版本冲突导致的,所以可以通过
解决export PYSPARK_PYTHON=/usr/bin/python
差异节点上的版本相同。然后开始:
pyspark
除了 PYTHONPATH
和 SPARK_HOME
之外,我还必须将 SPARK_PYTHONPATH
设置为环境变量以指向 python.exe 文件变量为
SPARK_PYTHONPATH=C:\Python27\python.exe
我遇到了和你一样的问题,然后我做了以下修改: 将 PYSPARK_PYTHON 设置为环境变量以指向 python.exe Edit Configurations Pycharm,这是我的例子:
PYSPARK_PYTHON = D:\Anaconda3\python.exe
SPARK_HOME = D:\spark-1.6.3-bin-hadoop2.6
PYTHONUNBUFFERED = 1