Intellij 内置 python 模块(即 sys)的未解析参考

hor*_*01d 4 python intellij-idea pycharm

如何让 Intellij 识别静态链接到解释器的内置函数,例如sys?因此,当我这样做时,import sys我没有获得自动完成功能 sys.py中没有相应的文件site-packages。为什么这适用于 PyCharm 但不适用于 IntelliJ?

import sys

def dump(module):
    if module in sys.builtin_module_names:
        print("<BUILTIN>")
    else:
        module = __import__(module)
        print(module.__file__)

dump("sys")
Run Code Online (Sandbox Code Playgroud)

输出:

<BUILTIN>

log*_*ogc 5

我遇到了类似的问题(IntelliJ 无法识别诸如 之类的内置函数all),并找到了您的问题。

不过,我能够自己解决这个问题:您必须为您的 IntelliJ 项目配置 Python SDK。它位于文件 > 项目结构 > Facets > Python 下。如果“Python 解释器”下拉列表为空,您可以通过“...”按钮添加一个,这将打开“配置 SDK”对话框。

通常,这应该列出您计算机上存在的Java SDK,但您也可以使用“+”按钮添加一个(或多个)Python 解释器。然后,您可以通过文件菜单导航到系统的 Python 解释器(或选择自定义安装的解释器)。

在对话框和首选项中单击“确定”后,系统会识别内置功能,并且我检查了sys功能是否也会自动完成。

我想说这对于 Pycharm 来说是开箱即用的,因为在项目结构中至少声明一个 Python 解释器是一项要求,而在将 Python 作为插件的 Idea 中则不是:声明一个 Java SDK 是一个工作项目。