当我在 Git Bash 的 VS Code 中执行 pytest 时,本地的 pyspark 出错

Posted

技术标签:

【中文标题】当我在 Git Bash 的 VS Code 中执行 pytest 时,本地的 pyspark 出错【英文标题】:Error with pyspark in local when I execute pytest in VS Code from Git Bash 【发布时间】:2020-09-12 09:53:12 【问题描述】:

当我在 Git Bash 的 VS Code 中执行 pytest 时,本地出现 pyspark 错误。

如果我从 gitbash 控制台执行 pytest:

当我在可视化代码中创建 spark Dataframe 时,我尝试调试我的代码,给我看:

Java 网关进程在发送其端口号之前退出

我已经在我的电脑中配置了所有的变量环境:

我看到这个错误可能是我的变量 Java 没有配置好,但我检查了它是正确的。

【问题讨论】:

如果它只是关于 Java 路径,那么是的,它不正确,如果你看到你的 PATH 变量,你可以看到还有一个值是 C:/....JAVA 并且你也设置了你自己的路径。所以做一件事,从 PATH 变量中删除任何值,从而导致 JAVA。只要确保系统变量中只有一个JAVA_HOME,它指向bin dir 而不是bin,然后在PATH 变量中添加JAVA_HOME\bin 试试这个 是真的,我有两个 JAVA_HOME 变量(系统和用户)。我在我的用户帐户中删除了路径 JAVA_HOME。但是对于 PATH 变量,我有同样的情况。是否要将 Path 变量中的 JAVA_HOME\bin 删除到用户帐户中?而且这只在系统账户中 现在从 git-bash 我执行 java -v,不认识它。但是,如果我从 git bash 执行 jupyter notebook,pyspark 真的可以使用这段代码 【参考方案1】:

当我将以下行放入 .bash_profile 文件时,我解决了这个问题:

导出 path_java(在我的电脑中)

这样,当我在 bash 控制台中执行 pytest 时,我通过测试没有问题

虽然在 VS Code 中我没有通过调试器的测试,但我可以继续使用我的 python 库

【讨论】:

【参考方案2】:

好像是版本不匹配导致的。由于 '_PYSPARK_DRIVER_CALLBACK_HOST' 在 0.10.7(here) 到 2.3 版本期间已被删除,并从 2.3.1 版本恢复。因此,您应该检查您的 Spark 版本,因为 SPARK_HOME 指向正确的版本(至少 2.3.1)。

来自here

【讨论】:

【参考方案3】:

但如果我从 git bash 执行 jupyter notebook,pyspark 真的可以使用这段代码

enter image description here

【讨论】:

以上是关于当我在 Git Bash 的 VS Code 中执行 pytest 时,本地的 pyspark 出错的主要内容,如果未能解决你的问题,请参考以下文章

git bash的VS Code启动位置

终端 Git 跟踪与 VS Code git 跟踪不同步

Git Bash 构建在 VS Code 中无法从终端运行

在 VS Code 中使用 Git Bash 终端 - 如何强制它在内部打开

如何在 Ubuntu on Windows (WSL) 上为我的 VS Code 终端使用 Bash?

如何在 VS-code 中使用 Git 工作树?