Skip to content

Commit c9d1ea9

Browse files
chenhaoxuaniseki0
authored andcommitted
fix: delete pipreqs source
1 parent ecd7b25 commit c9d1ea9

File tree

3 files changed

+17
-24
lines changed

3 files changed

+17
-24
lines changed

env/python.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,3 @@ package env
33
import "os"
44

55
var PIP_SOURCE_ADDR = os.Getenv("PIP_SOURCE_ADDR")
6-
var PIPREQS_SERVER_SOURCE_ADDR = os.Getenv("PIPREQS_SERVER_SOURCE_ADDR")

module/python/python.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ func (i Inspector) InspectProject(ctx context.Context) error {
8484
di.CompName = k
8585
di.CompVersion = v
8686
di.EcoRepo = EcoRepo
87+
nvMp[k] = v
8788
m.Dependencies = append(m.Dependencies, di)
8889
}
8990
if !task.IsNoBuild() {

module/python/venv.go

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,12 @@ func getVenvPath(basePath string) string {
4343

4444
return ""
4545
}
46-
func newVenv(dir string, pythonVersion string, logger *zap.SugaredLogger) error {
46+
func newVenv(dir string, logger *zap.SugaredLogger) error {
4747
var out bytes.Buffer
4848
var errout bytes.Buffer
4949
env := os.Environ()
5050
logger.Debug(zap.Any("env", env))
51-
pythonVersion = "./" + pythonVersion
52-
cmd := exec.Command("bash", "-c", pythonVersion+" -m venv virtual_venv")
51+
cmd := exec.Command("bash", "-c", "/usr/local/python3.10/bin/python3.10 -m venv virtual_venv")
5352
cmd.Dir = dir
5453
cmd.Stdout = &out
5554
cmd.Stderr = &errout
@@ -84,11 +83,10 @@ func newPipConf(basePath string, privateAddr string) error {
8483
}
8584
return nil
8685
}
87-
func updatePip(dir string, pythonVersion string, logger *zap.SugaredLogger) error {
86+
func updatePip(dir string, logger *zap.SugaredLogger) error {
8887
var out bytes.Buffer
8988
var errout bytes.Buffer
90-
pythonVersion = "./" + pythonVersion
91-
cmd := exec.Command(pythonVersion, "-m", "pip", "install", "--upgrade", "pip")
89+
cmd := exec.Command("./python3.10", "-m", "pip", "install", "--upgrade", "pip")
9290
cmd.Stdout = &out
9391
cmd.Dir = dir
9492
if err := cmd.Run(); err != nil {
@@ -104,11 +102,7 @@ func pipreqs(dir string, projectPath, savePath string, logger *zap.SugaredLogger
104102
logger.Debug(zap.String("pipreqs Path", dir))
105103
logger.Debug(zap.String("pipreqs projectPath", projectPath))
106104
logger.Debug(zap.String("pipreqs savepath", savePath))
107-
var pypiserverAddr string
108-
if env.PIPREQS_SERVER_SOURCE_ADDR != "" {
109-
pypiserverAddr = "--pypi-server=" + env.PIPREQS_SERVER_SOURCE_ADDR
110-
}
111-
cmd := exec.Command("./pipreqs", projectPath, "--savepath", savePath, "--encoding=utf-8", "--ignore=virtual_venv", pypiserverAddr)
105+
cmd := exec.Command("./pipreqs", projectPath, "--savepath", savePath, "--encoding=utf-8", "--ignore=virtual_venv")
112106
cmd.Dir = dir
113107
stdout, err := cmd.StdoutPipe()
114108
if err != nil {
@@ -160,16 +154,21 @@ func installpipreqs(dir string, logger *zap.SugaredLogger) error {
160154
logger.Debug("install pipreqs success ")
161155
return nil
162156
}
163-
func installRequirements(dir string, textDir string, logger *zap.SugaredLogger) error {
157+
func installRequirements(dir string, textDir string, oldNvMp map[string]string, logger *zap.SugaredLogger) error {
164158
var out bytes.Buffer
165159
var stderr bytes.Buffer
166160
by, err := os.ReadFile(textDir)
167161
if err != nil {
168162
logger.Error("read requirements.txt error :", zap.Error(err))
169163
return err
170164
}
165+
logger.Debug(zap.String("requirements.txt", string(by)))
171166
nvmp := parseRequirements(string(by))
172167
for k, v := range nvmp {
168+
if oldVersion, ok := oldNvMp[k]; ok && oldVersion != "" {
169+
logger.Debug(zap.String("skip install user requirements dependencies", k))
170+
continue
171+
}
173172
var cmd *exec.Cmd
174173
if v != "" {
175174
cmd = exec.Command("./pip", "install", k+"=="+v)
@@ -281,21 +280,14 @@ func directDependenceSurvival(mod *[]model.DependencyItem, nvMp map[string]strin
281280
}
282281
}
283282
}
284-
func getPythonVersion() string {
285-
_, err := exec.LookPath("python3.10")
286-
if err != nil {
287-
return "python"
288-
}
289-
return "python3.10"
290-
}
283+
291284
func Run(ctx context.Context, dir string, logger *zap.SugaredLogger, nvMp map[string]string) ([]model.DependencyItem, error) {
292285
var mod []model.DependencyItem
293286
var venvDir = filepath.Join(dir, "virtual_venv")
294287
venvPath := getVenvPath(dir)
295288
requirementsPath := filepath.Join(dir, "requirements.txt")
296289
venvRequirementsPath := filepath.Join(venvPath, "requirements.txt")
297-
pythonVersion := getPythonVersion()
298-
if err := newVenv(dir, pythonVersion, logger); err != nil {
290+
if err := newVenv(dir, logger); err != nil {
299291
return nil, err
300292
}
301293
if env.PIP_SOURCE_ADDR != "" {
@@ -304,7 +296,7 @@ func Run(ctx context.Context, dir string, logger *zap.SugaredLogger, nvMp map[st
304296
return nil, err
305297
}
306298
}
307-
if err := updatePip(venvPath, pythonVersion, logger); err != nil {
299+
if err := updatePip(venvPath, logger); err != nil {
308300
return nil, err
309301
}
310302
if err := setPipTimeout(); err != nil {
@@ -316,7 +308,7 @@ func Run(ctx context.Context, dir string, logger *zap.SugaredLogger, nvMp map[st
316308
if err := pipreqs(venvPath, dir, venvPath, logger); err != nil {
317309
return nil, err
318310
}
319-
if err := installRequirements(venvPath, venvRequirementsPath, logger); err != nil {
311+
if err := installRequirements(venvPath, venvRequirementsPath, nvMp, logger); err != nil {
320312
return nil, err
321313
}
322314
if err := installpipdeptree(venvPath, logger); err != nil {
@@ -332,6 +324,7 @@ func Run(ctx context.Context, dir string, logger *zap.SugaredLogger, nvMp map[st
332324
for k, v := range nvMp {
333325
if newV, ok := newRequirements[k]; ok && newV != v {
334326
updatePackage(venvPath, logger, k, v)
327+
newRequirements[k] = v
335328
}
336329
}
337330
result, err := pipdeptree(venvPath, logger)

0 commit comments

Comments
 (0)