我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?
此问题的具体实例是远程解释器,但本地解释器也会出现此问题。
我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?
此问题的具体实例是远程解释器,但本地解释器也会出现此问题。
当前回答
当失效缓存或刷新路径不起作用时,我发现自己删除并重新添加远程解释器来修复这个问题。
我使用vagrant,每隔一段时间,如果我添加一个新的虚拟机到我的多虚拟机设置,转发的端口改变,这似乎使PyCharm混淆,当它试图使用错误的SSH端口时。更改端口似乎并不能帮助损坏的引用。
其他回答
在我的例子中,它是目录结构。 我的项目是这样的:
+---dir_A
+---dir_B
+app
|
\-run.py
右键点击dir_b >将目录标记为>项目根目录
我关闭了所有其他项目,并在Pycharm中单独运行所需的项目。我从pycharm创建了一个单独的virtualenv,并使用pip在其中添加了所有必需的模块。我在项目的解释器中添加了这个虚拟环境。这解决了我的问题。
@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
希望它能帮助你,也帮助我:)
在所有建议的解决方案都不适合我之后,我终于让它工作了。我正在玩一个django rest框架项目,并使用了我已经设置好的virtualenv。我可以通过将根文件夹标记为源根来修复Pycharm,但是django的服务器会抛出解析异常。所以一个会工作,而另一个不会,反之亦然。
最终,我只需要将子文件夹标记为pycharm中的源代码根。我的结构是这样的
-playground
-env
-playground
第二个playground文件夹是我必须标记为源代码根以便一切正常工作的文件夹。这在我的场景中没有出现任何问题,所以这是一个可行的解决方案。
我只是想分享一下,以防别人用。
在Windows 10 10.0上的PyCharm 2020.1.4(社区版)中。在PyCharm的Settings下:File > Settings > Project Structure 我对Project Structure做了两个改动: 主文件夹标记为源和 odoo文件夹与我排除的所有应用程序 截图显示了我所做的。 之后,我重新启动PyCharm: File > Invalidate Caches / Restart…
未解决的引用错误已被删除