我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?


此问题的具体实例是远程解释器,但本地解释器也会出现此问题。


当前回答

很抱歉打断这个问题,但是我有一个重要的更新要做。

如果你使用的是Python 2.7.6以外的版本,你可能还想把你的项目解释器恢复到Python 2.7.6。在我安装PyCharm 4.04 professional时,这对我来说很有效,因为其他的建议都不能解决我的问题。

其他回答

我也有同样的症状在我的例子中,问题的来源是我设置的 自定义属性中的Idea.max.intellisense.filesize =50。 我可以把它设为100。

帮助->编辑自定义属性

我有一个项目,其中一个文件在src/导入另一个文件在同一目录。要让PyCharm识别,我必须去文件>设置>项目>项目结构>选择src文件夹,然后点击“标记为:源”

从https://www.jetbrains.com/help/pycharm/configuring-folders-within-a-content-root.html

源根包含实际的源文件和资源。PyCharm使用源根作为解析导入的起点

在我的情况下,检查错误显示由于一个非常具体的python代码的情况。 包含两个numpy函数和两个列表访问的min函数会使我的代码检查给出这种错误。

在下面的例子中删除'd=0'行会像预期的那样给出一个无法解决的引用错误,但是读取代码检查器并不能消除这个错误。之后我仍然可以毫无问题地执行代码。

import numpy as np
def strange(S, T, U, V):
    d = 0
    print min(np.abs(S[d]), np.abs(T[d]), U[d], V[d])

清除缓存和重新加载路径列表不工作。只有使用以下示例补丁之一更改代码才能工作:

“min”参数的另一种顺序:简图上的S U T V,但不是S T U V或T S U V 使用方法而不是函数:S[d].abs()而不是np.abs(S[d]) 使用内置的abs()函数 将一个数字添加到所选参数:U[d] + 0。

文件|无效缓存…重新启动PyCharm会有所帮助。

其他答案所建议的无效缓存对我不起作用。在我的案例中,我发现的问题是PyCharm将Python包的init.py文件标记为文本,因此没有将它们包括在分析中,这意味着Python解析无法正确工作。

我的解决方案是:

打开PyCharm设置 导航到编辑器->文件类型 找到Python并将__init__.py添加到Python文件列表中 或查找文本并从文本文件列表中删除__init__.py