使用 pip 安装或更新 Checkov 失败。 错误:在 Microsoft Windows 中安装 Visual Studio Code Checkov Extension 时。

使用 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/
图片0001.png

Python 全局安装
Python 全局安装

Windows 内部环境变量路径设置为 –用户级环境

用户级环境

系统级环境
系统级环境

同样通过 PowerShell –
电源外壳
电源外壳

此问题与 Powershell 有关,它是 Windows 中的默认 shellVS代码。

Python3.10MSI安装默认安装到变量中的路径(AppData\Local\Programs\Python)。 似乎 Powershell 不会加载环境集,除非不仅设置了 env,而且文件路径也被添加到PATH环境变量。

一旦您可以正确解析 python 变量,Checkov 仍然不会初始化,除非使用 pip。
除非使用 pip,否则 Checkov 仍然不会初始化。

用户变量PATH-
用户变量 PATH

这意味着需要在此处遵循文档 - https://pip.pypa.io/en/stable/installation/以及为 pip 设置的额外环境。

系统变量PATH(点子需要)
系统变量PATH(点子需要)

一旦所有这些都处理好了,checkov 终于回到了工作状态
checkov 终于回到工作状态
 
 


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u0000004OAnCAM&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language