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


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


当前回答

@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

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

其他回答

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

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

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

当失效缓存或刷新路径不起作用时,我发现自己删除并重新添加远程解释器来修复这个问题。

我使用vagrant,每隔一段时间,如果我添加一个新的虚拟机到我的多虚拟机设置,转发的端口改变,这似乎使PyCharm混淆,当它试图使用错误的SSH端口时。更改端口似乎并不能帮助损坏的引用。

德米特里的回答对我不起作用。

我打开Project Interpreters,选择“Paths”选项卡,然后点击子菜单中的刷新按钮。它自动填充了一种叫做“蟒蛇骨架”的东西。

编辑:使用PyCharm 3.4.1截图(它隐藏得很好)

您可以尝试关闭Pycharm,从项目中删除。idea文件夹,然后再次启动Pycharm并重新创建项目。这为我工作,而无效缓存没有。

我必须去文件->无效缓存/重新启动,重新启动Ubuntu 18.04 LTS,然后打开Pycharm和文件->无效缓存/重新启动,然后才清理。