Skip to content

Commit 378091d

Browse files
author
imakunin
committed
Configure python binary for PlainPythonEnvironment
1 parent 69ad322 commit 378091d

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

lzy/execution-env/src/main/java/ai/lzy/env/aux/PlainPythonEnvironment.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,34 @@
33
import ai.lzy.env.EnvironmentInstallationException;
44
import ai.lzy.env.base.BaseEnvironment;
55
import ai.lzy.env.logs.LogStream;
6+
import jakarta.annotation.Nullable;
67
import org.apache.commons.io.IOUtils;
78
import org.apache.logging.log4j.LogManager;
89
import org.apache.logging.log4j.Logger;
910

1011
import java.io.IOException;
1112
import java.nio.charset.StandardCharsets;
1213
import java.nio.file.Path;
13-
import java.util.*;
14+
import java.util.ArrayList;
15+
import java.util.Arrays;
16+
import java.util.List;
17+
import java.util.Map;
1418

1519
public class PlainPythonEnvironment implements AuxEnvironment {
1620
private static final Logger LOG = LogManager.getLogger(PlainPythonEnvironment.class);
1721

1822
private final BaseEnvironment baseEnv;
1923
private final Map<String, String> localModules;
2024
private final Path workingDir;
25+
private final String pythonBinary;
2126

22-
public PlainPythonEnvironment(BaseEnvironment baseEnv, Map<String, String> localModules, Path workingDir) {
27+
public PlainPythonEnvironment(BaseEnvironment baseEnv, Map<String, String> localModules, Path workingDir,
28+
@Nullable String pythonBinary)
29+
{
2330
this.localModules = localModules;
2431
this.baseEnv = baseEnv;
2532
this.workingDir = workingDir;
33+
this.pythonBinary = pythonBinary != null ? pythonBinary : "python";
2634
}
2735

2836
@Override
@@ -32,7 +40,7 @@ public BaseEnvironment base() {
3240

3341
@Override
3442
public void install(LogStream outStream, LogStream errStream) throws EnvironmentInstallationException {
35-
var proc = baseEnv.runProcess("python", "--version");
43+
var proc = baseEnv.runProcess(pythonBinary, "--version");
3644
final int res;
3745

3846
try {

lzy/worker/src/main/java/ai/lzy/worker/EnvironmentFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public AuxEnvironment create(String fsRoot, LME.EnvSpec env, String lzyMount, Lo
164164
LOG.error("Cannot find conda in provided env, rc={}, env={}: {}", res, env, err);
165165
auxEnv = new PlainPythonEnvironment(baseEnv, env.getPyenv().getLocalModulesList()
166166
.stream()
167-
.collect(Collectors.toMap(LocalModule::getName, LocalModule::getUri)), resourcesDir);
167+
.collect(Collectors.toMap(LocalModule::getName, LocalModule::getUri)), resourcesDir, "python");
168168
} else {
169169
final String out;
170170

0 commit comments

Comments
 (0)