我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?
此问题的具体实例是远程解释器,但本地解释器也会出现此问题。
我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?
此问题的具体实例是远程解释器,但本地解释器也会出现此问题。
当前回答
我有一个项目,其中一个文件在src/导入另一个文件在同一目录。要让PyCharm识别,我必须去文件>设置>项目>项目结构>选择src文件夹,然后点击“标记为:源”
从https://www.jetbrains.com/help/pycharm/configuring-folders-within-a-content-root.html
源根包含实际的源文件和资源。PyCharm使用源根作为解析导入的起点
其他回答
我的问题是,Flask-WTF无法通过PyCharm解决。我已经尝试重新安装,然后安装或使缓存无效并重新启动PyCharm,但它仍然不工作。
然后我想到了这个解决方案,它对我来说非常有效。
用Ctrl+Alt+S (Windows)打开项目解释器,然后单击安装(+)一个新包。
输入PyCharm无法解析的包,然后单击“安装包”。单击“确定”。
现在,您将看到库已被解析。
使用PyCharm 4.0.6测试(OSX 10.10.3) 以下步骤:
点击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。
如果其他解决方案都不适合您,请尝试(备份)并删除~/。PyCharm40文件夹,然后重新打开PyCharm。这也会杀死你所有的偏好设置。
在Mac上,你需要删除~/Library/Caches/Pycharm40和~/Library/Preferences/ Pycharm40。
Windows: C:\Users\$USER.PyCharm40。
@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
希望它能帮助你,也帮助我:)