首页 > 解决方案 > Pyspark 无法使用 Sublime text 3 运行,但可以在终端中运行

问题描述

我有一个可以在终端中完美运行的 Pyspark 程序。但是当我尝试使用 sublime text 3 来构建这个程序时。它显示以下错误:

'cmd' is not recognized as an internal or external command,
operable program or batch file.
Traceback (most recent call last):
  File "C:\Users\Sprout G2 Demo\Desktop\test.py", line 3, in <module>
    sc = SparkContext("local[*]", "FaceMatch")
  File "C:\Spark\spark-2.4.1-bin-hadoop2.7\python\pyspark\context.py", line 133, in __init__
    SparkContext._ensure_initialized(self, gateway=gateway, conf=conf)
  File "C:\Spark\spark-2.4.1-bin-hadoop2.7\python\pyspark\context.py", line 316, in _ensure_initialized
    SparkContext._gateway = gateway or launch_gateway(conf)
  File "C:\Spark\spark-2.4.1-bin-hadoop2.7\python\pyspark\java_gateway.py", line 46, in launch_gateway
    return _launch_gateway(conf)
  File "C:\Spark\spark-2.4.1-bin-hadoop2.7\python\pyspark\java_gateway.py", line 108, in _launch_gateway
    raise Exception("Java gateway process exited before sending its port number")
Exception: Java gateway process exited before sending its port number

操作系统是 Windows 10,Java 是 JDK 8,Python 是 3.7

标签: pythonpysparksublimetext3

解决方案


我自己想通了。因为我创建了自己的 sublime-build 文件。我在其中添加了一个路径变量。这意味着它不会使用系统环境变量中的路径变量。

我将我的 sublime-build 文件从

{
"cmd": ["python", "-u", "$file"],
"path":"C:/Anaconda3",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"shell": true
}

{
"cmd": ["python", "-u", "$file"],
"path":"$path:C:/Anaconda3",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"shell": true
}

推荐阅读