Error al instalar o actualizar Checkov usando pip. Error: al instalar Visual Studio Code Checkov Extension en Microsoft Windows.
17454
Created On 04/19/22 18:48 PM - Last Modified 07/14/25 23:07 PM
Objective
Los siguientes errores pueden ocurrir al instalar Visual Studio Code Checkov Extension en Microsoft Windows.
-Failed to install or update Checkov using pip3
-Failed to install or update Checkov using pip
-Command failed: python3 --version\n'python3' is not recognized as an internal or external command
-Error: Command failed: python --version\n'python' is not recognized as an internal or external command
Ejemplo de salida de error:
Checkov logs
[info]: Starting Checkov Extension. {"extensionVersion":"1.0.72","vscodeVersion":"1.65.2"}
[info]: Trying to install Checkov using Docker.
[debug]: Testing docker installation with command: docker pull bridgecrew/checkov:latest
[error]: Failed to install or update Checkov using Docker. Error: {"error":{"killed":false,"code":1,"signal":null,
"cmd":"docker pull bridgecrew/checkov:latest","message":"Command failed: docker pull bridgecrew/checkov:latest\n'docker' is not recognized as an internal or
external command,\r\noperable program or batch file.\r\n","stack":
"Error: Command failed: docker pull bridgecrew/checkov:latest\n'docker' is not recognized as an internal or external command,\r\noperable program or
batch file.\r\n\n\tat ChildProcess.exithandler
(child_process.js:317:12)\n\tat ChildProcess.emit (events.js:315:20)\n\tat maybeClose (internal/child_process.js:1048:16)\n\tat Socket.<anonymous>
(internal/child_process.js:439:11)\n\tat Socket.emit (events.js:315:20)\n\tat
Pipe.<anonymous> (net.js:673:12)"}}
[info]: Trying to install Checkov using pip3.
[debug]: Getting python version with command: python3 --version
[error]: Failed to install or update Checkov using pip3. Error: {"error":
{"killed":false,"code":1,"signal":null,"cmd":"python3 --
version","message":"Command failed: python3 --version\n'python3' is not recognized
as an internal or external command,\r\noperable program or batch
file.\r\n","stack":"Error: Command failed: python3 --version\n'python3' is not
recognized as an internal or external command,\r\noperable program or batch
file.\r\n\n\tat ChildProcess.exithandler (child_process.js:317:12)\n\tat
ChildProcess.emit (events.js:315:20)\n\tat maybeClose
(internal/child_process.js:1048:16)\n\tat Socket.<anonymous>
(internal/child_process.js:439:11)\n\tat Socket.emit (events.js:315:20)\n\tat
Pipe.<anonymous> (net.js:673:12)"}}
[info]: Retrying using `python` and `pip`
[debug]: Getting python version with command: python --version
[error]: Failed to install or update Checkov using pip. Error: {"error":
{"killed":false,"code":1,"signal":null,"cmd":"python --version","message":"Command
failed: python --version\n'python' is not recognized as an internal or external
command,\r\noperable program or batch file.\r\n","stack":"Error: Command failed:
python --version\n'python' is not recognized as an internal or external
command,\r\noperable program or batch file.\r\n\n\tat ChildProcess.exithandler
(child_process.js:317:12)\n\tat ChildProcess.emit (events.js:315:20)\n\tat
maybeClose (internal/child_process.js:1048:16)\n\tat Socket.<anonymous>
(internal/child_process.js:439:11)\n\tat Socket.emit (events.js:315:20)\n\tat
Pipe.<anonymous> (net.js:673:12)"}}
[info]: Trying to install Checkov using pipenv.
[debug]: Installation dir: c:\Users\USERNAME\AppData\Roaming\Code\User\globalStorage\bridgecrew.checkov\check
ov-installation
[debug]: Getting python version with command: pipenv run python --version
[error]: Failed to install or update Checkov using pipenv. Error: {"error":{"killed":false,"code":1,"signal":null,"cmd":"pipenv run python --
version","message":"Command failed: pipenv run python --version\n'pipenv' is not
recognized as an internal or external command,\r\noperable program or batch
file.\r\n","stack":"Error: Command failed: pipenv run python --version\n'pipenv'
is not recognized as an internal or external command,\r\noperable program or batch
file.\r\n\n\tat ChildProcess.exithandler (child_process.js:317:12)\n\tat
ChildProcess.emit (events.js:315:20)\n\tat maybeClose
(internal/child_process.js:1048:16)\n\tat Socket.<anonymous>
(internal/child_process.js:439:11)\n\tat Socket.emit (events.js:315:20)\n\tat
Pipe.<anonymous> (net.js:673:12)"}}
[warn]: All installation / update methods failed; attempting to fall back to a
global checkov installation
[error]: Could not find a global `checkov` executable either
[error]: Error occurred while preparing Checkov. Verify your settings, or try to
reload vscode. {"error":{"message":"Could not install Checkov.","stack":"Error:
Could not install Checkov.\n\tat
c:\\Users\\USERNAME\\.vscode\\extensions\\bridgecrew.checkov-
1.0.72\\out\\checkovInstaller.js:165:11\n\tat Generator.next (<anonymous>)\n\tat
fulfilled (c:\\Users\\USERNAME\\.vscode\\extensions\\bridgecrew.checkov-
1.0.72\\out\\checkovInstaller.js:24:58)"}}
Environment
- Prisma Cloud
- Código de seguridad / Bridgecrew
- Microsoft Windows
- Extensión Checkov de Visual Studio Code
Procedure
Desde los documentos de Python aquí: el MSI instalador es la ruta recomendada para la instalación de Windows.
https://www.python.org/downloads/release/python-3102/
Python se instala globalmente
Dentro de las variables de entorno de Windows se establecen rutas para: entorno de nivel de usuario
Entorno de nivel de sistema
También a través de PowerShell –
Este problema es con Powershell, que es el shell predeterminado en el código de Windows VS .
La instalación de Python3.10 MSI se instala en la ruta de acceso en las variables (AppData\Local\Programs\Python) de forma predeterminada. Parece que Powershell no cargará el entorno establecido a menos que no solo se establezca env, sino que también se agregue la ruta del archivo a la PATH variable env.
Una vez que pudiera obtener que las variables de Python se resolvieran correctamente, Checkov aún no se inicializaría a menos que usara pip.
Variable PATHde usuario -
Lo que significaba que la documentación debía seguirse aquí: https://pip.pypa.io/en/stable/installation/ y un entorno adicional establecido para pip.
Variable PATH del sistema (necesaria para pip)
Una vez que todo eso se resuelve, checkov finalmente vuelve a un estado de trabajo.