当前位置: 首页 > 知识库问答 >
问题:

Pycharm 代码补全有效,但插入未解析的引用

严阳秋
2023-03-14

使用 PyCharm 3.0.1 社区,代码完成工作正常,但是当我例如将方法编译到父类之一时,插入的方法名称就会被标记为未解析的引用。我错过了什么?

详:

我是PyCharm的新手,并在(统一安装的)Plone 4.3.2上对其进行测试。安装中的解释器是自动选择的,我为构建添加了z实例/bin/zopepy脚本。

然后我打开Products.CMFPlone-4.3.2-py2.7.egg/Products/CMFPlone/SkinsTool.py然后打字

x = SkinsTool

在文件的底部。代码完成为我提供了manage_changeProperties(并显示属性管理器)。我选择这个,所以这一行现在说

x = SkinsTool.manage_changeProperties

不过,manage_changeProperties部分是标记的。现在,将鼠标悬停在标记的“manage_changeProperties”上会显示

Unresolved attribute reference 'manage_changeProperties' for class 'SkinsTool'

这是一个错误还是我做错了什么(比如导入项目)?

编辑:根据vape的建议,我还尝试了一个实例。同样的问题:

自动完成工作正常:

但是引用未解决:

此测试也在3.0.1 Professional上完成。

编辑2:结构是标准plone安装的结构:structure.txt。我已经打开了最上面的plone.4.3.2文件夹。

干杯

约尔格

共有2个答案

郑桐
2023-03-14

好的,该错误已修复:

https://youtrack.jetbrains.com/issue/PY-11401

下一个版本有望包含修复,直到我编译了自己的版本。

需要注意两件事:

  1. 将官方社区版本中的文件夹“help”链接(或复制)到 intellij-community/python 目录中。
  2. 使用“ant -Didea.build.number=140.1332”从该 python 目录中复制它(我认为实际数字无关紧要)

结果在intellij-community/out/pycharmCE/artifacts中

胡向阳
2023-03-14

这可能是因为 pycharm 为 plone 库生成骨架时出错。除非这是一个错误,否则解决问题的唯一方法是删除项目中的 .idea 文件夹。执行此操作后,使用超级按钮从命令行重新打开项目

 类似资料:
  • 我正在用PyCharm做一个项目。项目已打开并配置了解释器,可以成功运行。远程解释器路径已正确映射。这似乎是正确的配置,但PyCharm用“未解决的引用”错误突出显示了我的有效代码,即使对于内置Python函数也是如此。为什么即使代码在运行,它们似乎也没有被检测到?有没有办法让PyCharm正确识别这些? 这个问题的具体实例是远程解释器,但是这个问题也出现在本地解释器上。

  • 问题内容: 我正在使用PyCharm进行项目。该项目将打开并使用解释器进行配置,并且可以成功运行。远程解释器路径已正确映射。这似乎是正确的配置,但是PyCharm会突出显示我的有效代码,并带有“未解决的引用”错误,即使对于内置Python函数也是如此。即使运行代码,为什么也似乎没有检测到这些?有什么方法可以让PyCharm正确识别它们? 问题答案: 档案| 无效的缓存…并重新启动PyCharm会有

  • 我正在使用PyCharm,只是尝试一些简单的东西。当我尝试使用时,编辑器显示一个未解决的引用错误。 我不确定是什么问题。以前有人见过这个吗?

  • 正如我们所知,是一个Python内置函数。 我目前使用PyCharm 3.4.1,它报告了一个 未解析的引用“map” 在我的代码中: 其中地图单词带有红色波浪下划线,并显示此消息提示。 我一直在阅读关于以下问题的文章:PyCharm显示有效代码的未解析引用错误 并做了文件|使缓存无效…并重新启动PyCharm有所帮助。 但问题仍未解决。 更多信息,我正在开发Django 1.6对象。项目解释器如

  • 所以我对PyCharm有问题,找不到解决方法。它无法识别未解析的引用: 该图像还显示它无法自动完成 request.session。它只发生在 .session 上,它适用于所有其他属性。 此外,这张图片显示它确实检测到了其他内容的未解析引用: 我正在虚拟环境上运行它,解释器配置正确,并且启用了 Django 支持。 哦,我正在使用Python3和Django 1.10.2 编辑:刚刚在其他项目中

  • 当弹出代码补全提示时,可以鼠标|Enter|Tab|!\/.|;进行补全,但这几种补全方法功能是不一样的。 补全后不会删除后面的代码 操作步骤: 弹出代码补全提示—> 光标选中补全代码—> 鼠标\/Enter 补全后删除后面的代码 操作步骤: 弹出代码补全提示—> 光标选中补全代码—>Tab 布尔值取反补全 操作步骤: 弹出布尔值代码补全提示—> 光标选中补全代码(是弹出代码提示时候的选择)—>