Github user jsnowacki commented on a diff in the pull request:
https://github.com/apache/spark/pull/19370#discussion_r149175889
--- Diff: bin/find-spark-home.cmd ---
@@ -0,0 +1,44 @@
+@echo off
+
+rem
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements. See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License. You may obtain a copy of the License at
+rem
+rem http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+rem
+
+rem Path to Python script finding SPARK_HOME
+set FIND_SPARK_HOME_SCRIPT=%~dp0find_spark_home.py
+
+rem Default to standard python interpreter unless told otherwise
+set PYTHON_RUNNER=python
+if not "x%PYSPARK_DRIVER_PYTHON%" =="x" (
+ set PYTHON_RUNNER=%PYSPARK_DRIVER_PYTHON%
+)
+
+rem Only attempt to find SPARK_HOME if it is not set.
+if "x%SPARK_HOME%"=="x" (
+ rem We are pip installed, use the Python script to resolve a reasonable
SPARK_HOME
+ if exist "%FIND_SPARK_HOME_SCRIPT%" (
+ rem If there is no python installed it will fail with message:
--- End diff --
As I mentioned before, this is easy to do in Bash but quite tricky in CMD
as by default variables are evaluated before execution, as variables in CMD
files work a bit more like fields in templates. See this answer:
https://stackoverflow.com/questions/10558316/example-of-delayed-expansion-in-batch-file.
I can try to improve it, i.e. add extra condition for the PYTHON_RUNNER
variable and check if it works correctly, but I'm busy until next weekend, so I
can pick it up in a few days.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]