pythonnet';s clr
我正在MSMQ通信中使用pythonnet';s clr,python,pycharm,ide,clr,python.net,Python,Pycharm,Ide,Clr,Python.net,我正在MSMQ通信中使用pythonnet包。在我的IDE(Pyce)中,我有以下示例代码: #/usr/bin/env蟒蛇3 进口蟒蛇 导入clr clr.AddReference(“系统”) clr.AddReference(“系统消息传递”) 从系统导入时间跨度 从System.Messaging导入消息队列 旁白:当我实际使用Python3.6运行它时,这段代码运行良好 下面是PyCharm内部的屏幕截图 对于系统它说:未解析的参考“系统” 除了使用noqa注释外
pythonnet
包。在我的IDE(Pyce)中,我有以下示例代码:
#/usr/bin/env蟒蛇3
进口蟒蛇
导入clr
clr.AddReference(“系统”)
clr.AddReference(“系统消息传递”)
从系统导入时间跨度
从System.Messaging导入消息队列
旁白:当我实际使用Python3.6
运行它时,这段代码运行良好
下面是PyCharm内部的屏幕截图
- 对于
它说:系统
未解析的参考“系统”
noqa
注释外,我如何让我的PyCharm linting执行以下操作:
- 不抱怨系统导入XYZ的
版本控制信息
- IDE:PyCharm社区版
2019.2
- pythonnet
,安装在虚拟环境中2.3.0
- 在相应的源代码行上添加警告(一行接一行)
- 使用错误(
在这种情况下)上的System
上下文菜单更多操作
- 使用
子菜单忽略未解析的引用“pythonnet\u tests.System”
- 最后使用
Suppress for语句
根据我们的交流,这是我的完整答案 问题1 没有名为clr的模块 经过一些检查,似乎操作系统环境和项目的虚拟环境之间存在某种混合 解决方案:删除并重新创建正确的虚拟环境修复了它
问题2 未解析的引用“系统” 在动态加载相应模块的情况下,最好的解决方案是在这些特定行上禁用PyCharm的检查器;因此,您不会丢失IDE中的任何其他内容 你可以看到 在我的沙箱中,我必须:
#无检查未解析引用
就这样 嗨。您是否100%确定您的虚拟环境已启用?(您可以在状态栏的右侧部分进行确认)。在一个终端中,在PyCharm内部,什么使pip3冻结输出?Hi@Bsquareℬℬ, 是的,我的venv配置正确。我确认我已经通过设置-->项目解释器和Pycharm终端
pip freeze
获得了pythonnet==2.3.0
,正如你所建议的那样。你能给出完整的pip3 freeze输出吗(pip3很重要,否则你可能会使用Python2版本,这不是你想要的)。Hi@Bsquareℬℬ 谢谢你再次回复我。在我的机器上,pip-V
输出python3.6
。在我的机器上,我安装了一个大的requirements.txt
,所以在我看来,输出完整的pip3冻结并不是非常有用。为了确定,我检查了pip3freeze
输出pythonnet
。您是否有具体的想法?您是否正在使用虚拟环境?你100%确定pythonnet building是正常的并且安装良好吗?好吧,回过头来看,基本上,没有办法让IDE正确地“查看”来自System import TimeSpan的导入,比如,所以我们只是在本地抑制检查。我认为这是有道理的。谢谢你的帮助!是的,我同意这个结论。