我正在使用PyCharm来处理项目。项目打开并配置了解释器,可以成功运行。远程解释器路径已正确映射。这似乎是正确的配置,但是PyCharm突出了我的有效代码,带有“未解析的引用”错误,即使对于内置的Python函数也是如此。为什么这些似乎没有被检测到,即使代码运行?有没有办法让PyCharm正确识别这些?
问题的这个特定实例是使用远程解释器,但问题也出现在本地解释器上。
答案 0 :(得分:121)
我的工作是前往Project Interpreters,选择“Paths”选项卡,然后点击该子菜单中的刷新按钮。它自动填充了一个名为“python-skeletons”的东西。
编辑:使用PyCharm 3.4.1截屏(隐藏得非常好)
答案 1 :(得分:53)
有很多解决方案,有些比其他解决方案更方便,但它们并不总是有效。
这里有你可以尝试的所有内容,快速来自'令人烦恼的':
File
- > Invalidate Caches / Restart
并重新启动PyCharm。
Run
- > Edit Configurations
- > Configuration
- > Python Interpreter
。File
- > Settings
Project: [name]
- > Project Interpreter
- > '项目口译员':齿轮图标 - > More...
File
- > Settings
Project: [name]
- > Project Interpreter
- > '项目口译员':齿轮图标 - > More...
.idea
文件夹~/.PyCharm50
%homepath%/.PyCharm50
答案 2 :(得分:11)
当发现无效缓存或刷新路径不起作用时,我发现自己正在删除并重新添加远程解释器以解决此问题。
我使用vagrant并且每隔一段时间如果我在我的multi-vm设置中添加一个新的VM,转发的端口就会改变,这似乎会让PyCharm在尝试使用错误的SSH端口时感到困惑。更改端口似乎没有帮助破坏的引用。
答案 3 :(得分:11)
就我而言,它是目录结构。 我的项目看起来像这样:
+---dir_A
+---dir_B
+app
|
\-run.py
右键单击dir_b> “将目录标记为”> “项目根”
答案 4 :(得分:10)
如果其他解决方案都不适合您,请尝试(备份)并删除〜/ .PyCharm40文件夹,然后重新打开PyCharm。这也会杀死你所有的偏好。
在Mac上你要删除〜/ Library / Caches / Pycharm40和〜/ Library / Preferences / PyCharm40。
在Windows上:C:\ Users \ $ USER.PyCharm40。
答案 5 :(得分:10)
使用PyCharm 4.0.6(OSX 10.10.3)测试 按照以下步骤操作:
问题解决了!
答案 6 :(得分:5)
很抱歉提出这个问题,但我有一个重要的更新。
如果您使用的是其他任何版本,您可能还想将项目解释器还原为Python 2.7.6。在我的Ubuntu安装PyCharm 4.04专业版后,这对我没有任何其他建议解决了我的问题。问题
答案 7 :(得分:3)
您可以尝试关闭Pycharm,从项目中删除.idea
文件夹,然后再次启动Pycharm并重新创建项目。这对我有用,而无效缓存则没有。
答案 8 :(得分:2)
在我提出的解决方案都没有起作用后,我终于得到了这个工作。我正在玩一个django休息框架项目,并使用了我设置的virtualenv。通过将根文件夹标记为源根目录,我能够修复Pycharm,但是django的服务器会抛出解析异常。因此,当另一个不相反时,一个会工作,反之亦然。
最终我只需将子文件夹标记为pycharm中的源根目录。所以我的结构就像这样
-playground
-env
-playground
第二个游乐场文件夹是我必须标记的源文件夹,以便按预期工作。这并没有为我的场景提出任何问题,所以这是一个可行的解决方案。
只是想我分享以防其他人可以使用它。
答案 9 :(得分:2)
答案 10 :(得分:1)
在Windows 10 10.0上的PyCharm 2020.1.4(社区版)中。在PyCharm中的设置下:文件>设置>项目结构 我对项目结构进行了两项更改: 主文件夹标记为源和 我排除的所有应用程序的odoo文件夹 屏幕截图显示了我的工作。 之后,我重新启动了PyCharm:File> Invalidate Caches / Restart ...
答案 11 :(得分:1)
我的问题是 PyCharm 无法解决 Flask-WTF 。我试图重新安装然后再安装或 Invalidate Cache and Restart PyCharm,但仍然无法正常工作。
然后我想出了这个解决方案,它对我来说很完美。
现在,您将看到库已解决。
答案 12 :(得分:1)
没有一个答案解决了我的问题。
对我来说,是切换环境并回到相同的环境。 File->Settings->Project interpreter
我正在使用conda环境。
答案 13 :(得分:1)
答案 14 :(得分:1)
按照其他答案的建议使缓存无效对我不起作用。在我的案例中,我发现问题在于 PyCharm 将 Python 包的 init.py 文件标记为文本,因此没有将它们包含在分析中,这意味着 Python 解析无法正常工作。
我的解决方案是:
打开 PyCharm 设置
导航到编辑器 -> 文件类型
找到 Python 并将 __init__.py
添加到 Python 文件列表中
或从文本文件列表中查找文本并删除__init__.py
答案 15 :(得分:1)
在我的情况下,由于python代码的特殊情况,检查错误显示出来。 包含两个numpy函数和两个列表访问的min函数使我的代码检查产生了这种错误。
删除' d = 0'以下示例中的行给出了未解决的引用错误,但是读取并不会使代码检查器的错误消失。之后我仍然可以毫无问题地执行代码。
private GoogleMap mMap;
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("location");
markerOptions.draggable(true);
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));
mMap.addMarker(markerOptions);
mMap.addMarker(new MarkerOptions().position(new LatLng(latitude2, longitude2)).title("Pin title2").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));
清除缓存并重新加载路径列表并不起作用。只使用以下示例修补程序之一更改代码才能正常工作:
答案 16 :(得分:1)
以上解决方案均不适合我!
如果您正在为项目使用虚拟环境,请确保将虚拟环境目录中的python.exe
文件应用为项目的解释器(Alt + Ctrl + Shift + S)
这解决了我的问题。
答案 17 :(得分:1)
Geeze真是个噩梦,我将不同的StackOVerflow答案合并在一起:
答案 18 :(得分:1)
我关闭了所有其他项目并在Pycharm中单独运行我所需的项目。我从pycharm创建了一个单独的virtualenv,并使用pip添加了所有必需的模块。我在项目的解释器中添加了这个虚拟环境。这解决了我的问题。
答案 19 :(得分:0)
@kelorek 对我有用,但在此之前,我必须在互操作路径中添加一些路径。 让我们说
from geometry_msgs.msg import Twist
下划线为错误,然后在python运行的远程机器上:
help("geometry_msgs")
最后会有路径让我们说:
/opt/ros/foxy/lib/python3.8/site-packages/geometry_msgs/__init__.py
so to Your intepreter pycharm path add
/opt/ros/foxy/lib/python3.8/site-packages
希望它对你有帮助,对我也有帮助:)
答案 20 :(得分:0)
对我来说它有帮助: 更新您的主目录“将目录标记为”->“源根目录”
答案 21 :(得分:0)
在清除之前,我必须转到File-> Invalidate Caches / Restart,重新启动Ubuntu 18.04 LTS,然后打开Pycharm并再次打开File-> Invalidate Caches / Restart。
答案 22 :(得分:0)
我也有同样的症状。在我的例子中,问题来源是我设置的 自定义属性中的idea.max.intellisense.filesize=50。 我可以通过将其设置为 100 来解决它。
帮助->编辑自定义属性
答案 23 :(得分:0)
我有一个项目,其中src/
中的一个文件导入同一目录中的另一个文件。要使PyCharm能够识别,我必须转到文件>设置>项目>项目结构>选择src
文件夹,然后单击“标记为:源”
来自https://www.jetbrains.com/help/pycharm/configuring-folders-within-a-content-root.html
源根目录包含实际的源文件和资源。 PyCharm以源根为起点解决进口问题
答案 24 :(得分:0)
为我工作了简单得多的动作:
File > Settings > Project > Project Interpreter
> Select "No interpreter" in the "Project interpreter" list
> Apply > Set your python interpreter again > Click Apply
利润-Pycharm正在更新骨骼,一切都很好。
答案 25 :(得分:0)
如果您只想忽略一些“未解决的引用”错误,也可以通过将其放置在类/方法/函数的前面来明确地告诉它PyCharm:
# noinspection PyUnresolvedReferences
答案 26 :(得分:0)
如果您使用vagrant
,则错误可能是由错误的python解释器引起的。
在我们的vagrant
中,我们使用的是pyenv
,因此我不得不将Python Interpreter path
的路径从/usr/bin/python
更改为/home/vagrant/.pyenv/versions/vagrant/bin/python
答案 27 :(得分:-1)