问题
启用了 VSCode 的 Pylint 插件, 即便 Python 环境中安装了 PyQt5, 也无法正确解析 PyQt5 的导入
PyQt5 底层代码是用 C/C++ 写的, pylint 默认不会深入解析
pylint doesn’t load any C extensions by default, because those can run arbitrary code.
解决
- 修改 Settings
在 settings.json 中附加入以下内容
"pylint.args": ["--extension-pkg-whitelist=PyQt5",
]
或者在图形界面找到并修改 pylint 的配置
以上针对的是新版本的 VSCode(单独安装了 pylint extension); 对于老版本(pylint 的功能是内置于 Python 插件), 则是以下配置
"python.linting.pylintArgs": ["--extension-pkg-whitelist=PyQt5",
]
- 配置项的命名以 python 开头, 表示是 Python 插件的配置
- 如果不想修改 settings.json, 也可以在 .pylintrc 中加入以下内容
extension-pkg-whitelist=PyQt5
并确保 Pylint 插件能识别到该 .pylintrc 文件(一般放在项目的根目录下)
"pylint.args": ["--rcfile=${workspaceFolder}/.pylintrc"
]