()
| 33 | }; |
| 34 | |
| 35 | function getPipExe() { |
| 36 | const pip = |
| 37 | which.sync("pip3", { nothrow: true }) || |
| 38 | which.sync("pip", { nothrow: true }); |
| 39 | if (pip) { |
| 40 | return pip; |
| 41 | } |
| 42 | |
| 43 | // try python -m pip |
| 44 | const pythonExe = getPythonExe(); |
| 45 | return new Promise((resolve, reject) => { |
| 46 | var child = spawn(pythonExe, ["-m", "pip"]); |
| 47 | child.on("close", code => { |
| 48 | if (code === 0) resolve([pythonExe, "-m", "pip"]); |
| 49 | else resolve(); |
| 50 | }); |
| 51 | }); |
| 52 | } |
| 53 | function getPipInstaller() { |
| 54 | // install pip |
| 55 | return new Promise((resolve, reject) => { |
no test coverage detected