PyCharm不建议自动完成并标记未解析的引用[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我正在尝试制作一个简单的scapy程序,但PyCharm并未建议任何代码完成并标记一个“未解析的引用”。然而,该计划有效。

我在Mac OS 10.14和我的系统python解释器(/usr/local/bin/python3.7)上使用最新版本的PyCharm。

from scapy.all import *

def arp_display(pkt):
    pkt.summary()
    if pkt[ARP].op == 1:
        print("%s demande qui est %s" % (pkt[ARP].psrc, pkt[ARP].pdst))
    elif pkt[ARP].opH == 2:
        print("%s possède l'addresse %s" % (pkt[ARP].psrc, pkt[ARP].hwsrc))

sniff(prn=arp_display, filter="arp", store=0, count=10)

ARP被标记为未解决的参考,当我输入pkt.ctrl + space时,PyCharm不建议使用show()summary()和其他方法。

python pycharm scapy
1个回答
2
投票

你不能做太多反对:/

Scapy loads its layer modules dynamically。它允许Scapy用户单独切换每个层的加载,但IDE将无法检测导入。

你可以做些什么来解决这个问题,直接从他们的特定文件导入图层,而不是Scapy.all

例如:

from scapy.layers.l2 import ARP
from scapy.sendrecv import sniff

即使它需要更多时间,它也更清洁(因为你不会导入所有东西)。如果你不知道哪个模块是一个图层,只需要在Scapy的shell中使用help()

© www.soinside.com 2019 - 2024. All rights reserved.