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


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


当前回答

你必须把你的根目录标记为: 源根(红色), 以及您的应用: 排除ROOT(蓝色)。

那么未解决的引用就会消失。如果你使用PyChram pro,它会自动为你做这个。

其他回答

在我的情况下,检查错误显示由于一个非常具体的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。

以上的方法对我都没用! 如果您正在为项目使用虚拟环境,请确保应用虚拟环境目录中的python.exe文件作为项目的解释器(Alt + Ctrl + Shift + S) 这为我解决了问题。

天哪,这是一个噩梦,我的不同的StackOVerflow答案的合并:

切换到本地解释器/usr/bin/pythonX.X和应用 像上面那样查看路径 找到骷髅的路径。我的是(/home/tim/Desktop/pycharm-community-2016.2.3/helpers/python-skeleton) 切换回virt解释器,并手动添加骷髅路径,如果它没有自动显示。

我的问题通过检查PyCharm中的继承全局站点包来解决

File -> Settings -> Project Interpreter -> Add Local Interpreter ->继承全局site-packages

@kelorek适用于我,但之前,在interpereter路径中,我必须添加一些路径。 让说

from geometry_msgs.msg import Twist

下划线为错误,然后在远程机器中运行python:

help("geometry_msgs")

在最后会有路径,我们说:

/opt/ros/foxy/lib/python3.8/site-packages/geometry_msgs/__init__.py

所以你的解释器pycharm路径添加

/opt/ros/foxy/lib/python3.8/site-packages

希望它能帮助你,也帮助我:)