启用Pylint时安装bandit失败,虚拟环境pip版本问题求助
解决VS Code中安装Bandit Linter时的
NameError: name 'platform_system' is not defined错误 问题原因分析
你在VS Code里尝试将Bandit设为Python代码检查工具(linter)时遇到了安装报错,核心错误是NameError: name 'platform_system' is not defined。哪怕你升级了全局的pip,问题还是存在——这其实是因为你当前使用的虚拟环境里装的是旧版本pip,而VS Code默认会调用虚拟环境内的pip来安装依赖,所以全局pip升级无法解决虚拟环境内的问题。
分步解决方法
咱们一步步来搞定这个问题:
1. 找到虚拟环境的路径
先确认VS Code当前在用的虚拟环境位置:
- 看VS Code左下角的Python版本标识(比如
Python 3.5.0 32-bit ('venv': venv)),点击它会弹出所有可用的Python环境,找到你当前激活的那个虚拟环境,记下它的路径(比如C:\Users\Scott\venv)。
2. 激活虚拟环境
打开终端(可以用VS Code内置的终端,也可以用系统命令提示符),进入虚拟环境的Scripts目录:
cd C:\Users\Scott\venv\Scripts
然后执行激活命令:
activate.bat
激活成功后,终端提示符会变成(venv)开头,说明已经进入虚拟环境了。
3. 升级虚拟环境内的pip
在激活的虚拟环境中,执行pip升级命令:
python -m pip install --upgrade pip
等升级完成后,虚拟环境里的pip就变成最新版本了。
4. 在虚拟环境中安装Bandit
继续在激活的虚拟环境里,直接安装Bandit:
pip install bandit
安装完成后回到VS Code,重新尝试启用Bandit作为linter,应该就不会再报错了。
额外排查技巧
如果VS Code还是没识别到已安装的Bandit,可以试试:
- 按下
Ctrl + Shift + P,选择Python: Select Interpreter,确认选中的是刚才升级了pip并安装Bandit的那个虚拟环境。 - 重启VS Code,让环境配置生效。
内容的提问来源于stack exchange,提问作者Scott Crawshaw
相关产品推荐
相关产品推荐

