From 5d168bbf0d99040eed101cdc3a83f958781193d0 Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Sun, 1 May 2022 20:47:14 +0300 Subject: [PATCH] pip should be executed via the regular python executable (#913) Fixes #910 --- .vscode/launch.json | 30 +++++++++++------------------- src/steps/generic.rs | 11 ++++++++--- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 35d619fe..f053de9d 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -7,7 +7,7 @@ { "type": "lldb", "request": "launch", - "name": "Debug executable 'topgrade'", + "name": "Topgrade", "console": "integratedTerminal", "cargo": { "args": [ @@ -20,27 +20,19 @@ "kind": "bin" } }, - "args": [], + "args": [ + "--only", + "${input:step}", + "-v" + ], "cwd": "${workspaceFolder}" }, + ], + "inputs": [ { - "type": "lldb", - "request": "launch", - "name": "Debug unit tests in executable 'topgrade'", - "cargo": { - "args": [ - "test", - "--no-run", - "--bin=topgrade", - "--package=topgrade" - ], - "filter": { - "name": "topgrade", - "kind": "bin" - } - }, - "args": [], - "cwd": "${workspaceFolder}" + "type": "promptString", + "id": "step", + "description": "step nname", } ] } diff --git a/src/steps/generic.rs b/src/steps/generic.rs index 5beafccb..16cd7fe5 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -263,7 +263,12 @@ pub fn run_conda_update(ctx: &ExecutionContext) -> Result<()> { } pub fn run_pip3_update(run_type: RunType) -> Result<()> { - let pip3 = utils::require("pip3")?; + let python3 = utils::require("python3")?; + Command::new(&python3) + .args(&["-m", "pip"]) + .check_output() + .map_err(|_| SkipStep("pip does not exists".to_string()))?; + print_separator("pip3"); if std::env::var("VIRTUAL_ENV").is_ok() { print_warning("This step is will be skipped when running inside a virtual environment"); @@ -271,8 +276,8 @@ pub fn run_pip3_update(run_type: RunType) -> Result<()> { } run_type - .execute(&pip3) - .args(&["install", "--upgrade", "--user", "pip"]) + .execute(&python3) + .args(&["-m", "pip", "install", "--upgrade", "--user", "pip"]) .check_run() }