From 83c63c7dbce98cd2db53fc317a5366d78ecb5bfd Mon Sep 17 00:00:00 2001 From: Keming Date: Sun, 22 Jan 2023 12:07:31 +0800 Subject: [PATCH] fix: pip install requirements.txt (#1434) * fix: v1 pip install requirements.txt Signed-off-by: Keming * change v0 Signed-off-by: Keming Signed-off-by: Keming --- pkg/lang/ir/v0/python.go | 21 ++++----------------- pkg/lang/ir/v1/python.go | 21 ++++----------------- 2 files changed, 8 insertions(+), 34 deletions(-) diff --git a/pkg/lang/ir/v0/python.go b/pkg/lang/ir/v0/python.go index b48f4e89d..ba31de137 100644 --- a/pkg/lang/ir/v0/python.go +++ b/pkg/lang/ir/v0/python.go @@ -157,25 +157,12 @@ func (g generalGraph) compilePyPIPackages(root llb.State) llb.State { } if g.RequirementsFile != nil { - // Compose the package install command. - var sb strings.Builder - sb.WriteString("bash -c '") - sb.WriteString("set -euo pipefail\n") - sb.WriteString(fmt.Sprintf("chown -R envd:envd %s\n", g.getWorkingDir())) // Change mount dir permission - envdCmd := strings.Builder{} - envdCmd.WriteString(fmt.Sprintf("cd %s\n", g.getWorkingDir())) - envdCmd.WriteString(fmt.Sprintf("/opt/conda/envs/envd/bin/python -m pip install -r %s\n", *g.RequirementsFile)) - - // Execute the command to write yaml file and conda env using envd user - sb.WriteString(fmt.Sprintf("sudo -i -u envd bash << EOF\n%s\nEOF\n", envdCmd.String())) - sb.WriteString("'") - cmd := sb.String() - - logrus.WithField("command", cmd). + logrus.WithField("file", *g.RequirementsFile). Debug("Configure pip install requirements statements") - root = root.User("root").Dir(g.getWorkingDir()) + root = root.Dir(g.getWorkingDir()) run := root. - Run(llb.Shlex(cmd), llb.WithCustomNamef("pip install %s", *g.RequirementsFile)) + Run(llb.Shlexf("/opt/conda/envs/envd/bin/python -m pip install -r %s", *g.RequirementsFile), + llb.WithCustomNamef("pip install -r %s", *g.RequirementsFile)) run.AddMount(cacheDir, cache, llb.AsPersistentCacheDir(g.CacheID(cacheDir), llb.CacheMountShared), llb.SourcePath("/cache/pip")) run.AddMount(g.getWorkingDir(), diff --git a/pkg/lang/ir/v1/python.go b/pkg/lang/ir/v1/python.go index b2598e7cc..3a7df1b8b 100644 --- a/pkg/lang/ir/v1/python.go +++ b/pkg/lang/ir/v1/python.go @@ -124,25 +124,12 @@ func (g generalGraph) compilePyPIPackages(root llb.State) llb.State { } if g.RequirementsFile != nil { - // Compose the package install command. - var sb strings.Builder - sb.WriteString("bash -c '") - sb.WriteString("set -euo pipefail\n") - sb.WriteString(fmt.Sprintf("chown -R envd:envd %s\n", g.getWorkingDir())) // Change mount dir permission - envdCmd := strings.Builder{} - envdCmd.WriteString(fmt.Sprintf("cd %s\n", g.getWorkingDir())) - envdCmd.WriteString(fmt.Sprintf("python -m pip install -r %s\n", *g.RequirementsFile)) - - // Execute the command to write yaml file and conda env using envd user - sb.WriteString(fmt.Sprintf("sudo -i -u envd bash << EOF\n%s\nEOF\n", envdCmd.String())) - sb.WriteString("'") - cmd := sb.String() - - logrus.WithField("command", cmd). + logrus.WithField("file", *g.RequirementsFile). Debug("Configure pip install requirements statements") - root = root.User("root").Dir(g.getWorkingDir()) + root = root.Dir(g.getWorkingDir()) run := root. - Run(llb.Shlex(cmd), llb.WithCustomNamef("pip install %s", *g.RequirementsFile)) + Run(llb.Shlexf("python -m pip install -r %s", *g.RequirementsFile), + llb.WithCustomNamef("pip install -r %s", *g.RequirementsFile)) run.AddMount(cacheDir, cache, llb.AsPersistentCacheDir(g.CacheID(cacheDir), llb.CacheMountShared), llb.SourcePath("/cache/pip")) run.AddMount(g.getWorkingDir(),