使用 pip 安装或更新 Checkov 失败。 错误:在 Microsoft Windows 中安装 Visual Studio Code Checkov Extension 时。
17418
Created On 04/19/22 18:48 PM - Last Modified 07/14/25 23:07 PM
Objective
在 Microsoft Windows 中安装 Visual Studio Code Checkov Extension 时可能会发生以下错误。
-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
示例错误输出:
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
- 代码安全/ Bridgecrew
- 微软Windows
- Visual Studio Code Checkov 扩展
Procedure
来自此处的 python 文档 – TheMSI installer是windows安装的推荐路径。
https://www.python.org/downloads/release/python-3102/
Python 全局安装
Windows 内部环境变量路径设置为 –用户级环境
系统级环境
同样通过 PowerShell –
此问题与 Powershell 有关,它是 Windows 中的默认 shellVS代码。
Python3.10MSI安装默认安装到变量中的路径(AppData\Local\Programs\Python)。 似乎 Powershell 不会加载环境集,除非不仅设置了 env,而且文件路径也被添加到PATH环境变量。
一旦您可以正确解析 python 变量,Checkov 仍然不会初始化,除非使用 pip。
用户变量PATH-
这意味着需要在此处遵循文档 - https://pip.pypa.io/en/stable/installation/以及为 pip 设置的额外环境。
系统变量PATH(点子需要)
一旦所有这些都处理好了,checkov 终于回到了工作状态