gpt4 book ai didi

Python 获取 IDE linter 以从 pythonnet 的 clr 中的系统导入中查看

转载 作者:太空宇宙 更新时间:2023-11-03 23:53:30 26 4
gpt4 key购买 nike

我在 MSMQ 通信中使用 pythonnet 包。在我的 IDE (PyCharm CE) 中,我有以下示例代码:

#!/usr/bin/env python3


import pythoncom

import clr



clr.AddReference("System")

clr.AddReference("System.Messaging")

from System import TimeSpan

from System.Messaging import MessageQueue


旁白:当我使用 Python 3.6 实际运行这段代码时,它运行良好。

下面是 PyCharm 内部的截图。

What I Am Seeing

  • 对于 System 它说:Unresolved reference 'System'

除了使用 noqa 注释,我怎样才能让我的 PyCharm linting 执行以下操作:

  • 不提示 from System import XYZ

版本信息

  • IDE:PyCharm 社区版 2019.2
  • pythonnet 2.3.0,安装在虚拟环境中

最佳答案

根据我们的交流,这是我的完整答案。

问题#1

No module named clr

经过一些检查,操作系统环境和项目的虚拟环境之间似乎存在某种混合。

解决方案:删除并重新创建正确的虚拟环境修复它


问题 #2

Unresolved reference 'System'

在动态加载相应模块的情况下,最好的解决方案是在这些特定行上禁用 PyCharm 的检查器;因此,您不会在 IDE 中丢失任何其他内容。

可以看到How to disable inspection .

在我的沙盒中,我只需要:

  • 继续执行带有警告的相应源代码行(一个接一个)
  • 对错误使用更多操作上下文菜单(在本例中为System)
  • 使用 Ignore unresolved reference 'pythonnet_tests.System' 子菜单
  • 最后使用Suppress for 语句

每次对应的源代码行,前面都会有注释行:

# noinspection PyUnresolvedReferences

就是这样!

关于Python 获取 IDE linter 以从 pythonnet 的 clr 中的系统导入中查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58598366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com