This is an automated email from the ASF dual-hosted git repository.

zjffdu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new b9118fd  [ZEPPELIN-5417] Unable to set conda env in pyspark (#4147)
b9118fd is described below

commit b9118fd47e2e908c4c2ac05aa28d63fe424f91ba
Author: Jeff Zhang <zjf...@apache.org>
AuthorDate: Sun Jul 4 14:55:17 2021 +0800

    [ZEPPELIN-5417] Unable to set conda env in pyspark (#4147)
    
    * [ZEPPELIN-5417] Unable to set conda env in pyspark
---
 .../apache/zeppelin/python/PythonInterpreter.java  | 28 ++++++++++++++--------
 .../apache/zeppelin/spark/PySparkInterpreter.java  | 16 +++++++------
 .../zeppelin/spark/IPySparkInterpreterTest.java    |  1 +
 .../zeppelin/jupyter/JupyterKernelInterpreter.java |  1 +
 4 files changed, 29 insertions(+), 17 deletions(-)

diff --git 
a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java 
b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
index 57ee9ac..23c0945 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
@@ -80,16 +80,24 @@ public class PythonInterpreter extends Interpreter {
   public void open() throws InterpreterException {
     // try IPythonInterpreter first
     iPythonInterpreter = getIPythonInterpreter();
-    if (getProperty("zeppelin.python.useIPython", "true").equals("true") &&
-        StringUtils.isEmpty(
-            iPythonInterpreter.checkKernelPrerequisite(getPythonExec()))) {
-      try {
-        iPythonInterpreter.open();
-        LOGGER.info("IPython is available, Use IPythonInterpreter to replace 
PythonInterpreter");
-        return;
-      } catch (Exception e) {
-        iPythonInterpreter = null;
-        LOGGER.warn("Fail to open IPythonInterpreter", e);
+    boolean useIPython = 
Boolean.parseBoolean(getProperty("zeppelin.python.useIPython", "true"));
+
+    LOGGER.info("zeppelin.python.useIPython: {}", useIPython);
+    if (useIPython) {
+      String checkKernelPrerequisiteResult = 
iPythonInterpreter.checkKernelPrerequisite(
+              getPythonExec());
+      if (StringUtils.isEmpty(checkKernelPrerequisiteResult)) {
+        try {
+          iPythonInterpreter.open();
+          LOGGER.info("IPython is available, Use IPythonInterpreter to replace 
PythonInterpreter");
+          return;
+        } catch (Exception e) {
+          iPythonInterpreter = null;
+          LOGGER.warn("Fail to open IPythonInterpreter", e);
+        }
+      } else {
+        LOGGER.info("IPython requirement is not met, 
checkKernelPrerequisiteResult: {}",
+                checkKernelPrerequisiteResult);
       }
     }
 
diff --git 
a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
 
b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
index 6f8c96f..ca4369d 100644
--- 
a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
+++ 
b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
@@ -171,18 +171,20 @@ public class PySparkInterpreter extends PythonInterpreter 
{
   // spark.pyspark.driver.python > spark.pyspark.python > 
PYSPARK_DRIVER_PYTHON > PYSPARK_PYTHON
   @Override
   protected String getPythonExec() {
-    if (!StringUtils.isBlank(getProperty("spark.pyspark.driver.python", ""))) {
-      return properties.getProperty("spark.pyspark.driver.python");
+    SparkConf sparkConf = getSparkConf();
+    if (StringUtils.isNotBlank(sparkConf.get("spark.pyspark.driver.python", 
""))) {
+      return sparkConf.get("spark.pyspark.driver.python");
     }
-    if (!StringUtils.isBlank(getProperty("spark.pyspark.python", ""))) {
-      return properties.getProperty("spark.pyspark.python");
-    }
-    if (System.getenv("PYSPARK_PYTHON") != null) {
-      return System.getenv("PYSPARK_PYTHON");
+    if (StringUtils.isNotBlank(sparkConf.get("spark.pyspark.python", ""))) {
+      return sparkConf.get("spark.pyspark.python");
     }
     if (System.getenv("PYSPARK_DRIVER_PYTHON") != null) {
       return System.getenv("PYSPARK_DRIVER_PYTHON");
     }
+    if (System.getenv("PYSPARK_PYTHON") != null) {
+      return System.getenv("PYSPARK_PYTHON");
+    }
+
     return "python";
   }
 
diff --git 
a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
 
b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
index 0589820..9fab73b 100644
--- 
a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
+++ 
b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
@@ -90,6 +90,7 @@ public class IPySparkInterpreterTest extends 
IPythonInterpreterTest {
     intpGroup.get("session_1").add(interpreter);
     interpreter.setInterpreterGroup(intpGroup);
 
+    pySparkInterpreter.open();
     interpreter.open();
   }
 
diff --git 
a/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
 
b/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
index 6c2fdc5..ea97af4 100644
--- 
a/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
+++ 
b/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
@@ -153,6 +153,7 @@ public class JupyterKernelInterpreter extends 
AbstractInterpreter {
    * @return check result of checking kernel prerequisite.
    */
   public String checkKernelPrerequisite(String pythonExec) {
+    LOGGER.info("checkKernelPrerequisite using python executable: {}", 
pythonExec);
     ProcessBuilder processBuilder = new ProcessBuilder(pythonExec, "-m", 
"pip", "freeze");
     File stderrFile = null;
     File stdoutFile = null;

Reply via email to