繁体   English   中英

vscode导入错误:从scapy.all导入IP

[英]vscode import error: from scapy.all import IP

vscode说在scapy.all中找不到IP 在此处输入图片说明

但是从终端,我可以导入它: 在此处输入图片说明

有人可以告诉我为什么吗?

我在VS Code中的Scapy代码遇到了完全相同的问题。 我认为这与pylint的工作方式有关。

当您from scapy.all import IP ,Python会加载scapy/all.py ,其中包括from scapy.layers.all import *的行。 scapy/layers/all.py包含以下代码:

for _l in conf.load_layers:
    log_loading.debug("Loading layer %s" % _l)
    try:
        load_layer(_l, globals_dict=globals(), symb_list=__all__)
    except Exception as e:
        log.warning("can't import layer %s: %s", _l, e)

conf.load_layersscapy/config.py

load_layers = ['bluetooth', 'bluetooth4LE', 'dhcp', 'dhcp6', 'dns',
               'dot11', 'dot15d4', 'eap', 'gprs', 'hsrp', 'inet',
               'inet6', 'ipsec', 'ir', 'isakmp', 'l2', 'l2tp',
               'llmnr', 'lltd', 'mgcp', 'mobileip', 'netbios',
               'netflow', 'ntp', 'ppp', 'pptp', 'radius', 'rip',
               'rtp', 'sctp', 'sixlowpan', 'skinny', 'smb', 'snmp',
               'tftp', 'vrrp', 'vxlan', 'x509', 'zigbee']

我怀疑pylint不能正确地遵循这些导入。

我已经尝试了相关GitHub问题中建议的解决方法,但是它们似乎并没有为Scapy修复任何问题。 Pylint最终为Numpy中的问题添加了特定的解决方法 -至今还没有人为Scapy做到这一点。

您可以通过直接从Python文件顶部的相关层导入IP类来解决这些问题:

from scapy.layers.inet import IP, UDP, TCP, ICMP

瞧! 没有更多关于这些进口的皮林特抱怨。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM