为什么(ModuleNotFoundError:没有名为'scapy'的模块出现?

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

我使用python3编写了一个程序,该程序通过DNP3协议读取和响应数据,它旨在在rpi3上运行我在笔记本电脑上编写了代码,然后将其带到rpi,安装了所有依赖项,但出现了一个我不知道该怎么办的错误:ModuleNotFoundError: No module named 'scapy'我成功安装了Scapy和pip install scapy

我是Python的新手,请帮帮我,tnx

我不认为这是相关的,但这是一段代码:

outstation.py:

    from dnp3_lib import *
    import datetime
    from struct import pack, unpack
    import sys
    import socket
    import random

    SRC = 1023
    DEST = 1010
    START_B = b'\x05\x64'
    port = 20000

    transport_sequence = 0

    try:
        s = socket.socket()          
        print ("Socket successfully created!")                

        s.bind(('', port))         
        print ("Socket binded to %s" %(port)) 

        s.listen(5)      
        print ("Socket is Listening...")            

        # Establish connection with client. 
        c, addr = s.accept()      
        print ('Got connection from', addr)
        # counter = 0

        while True:
            try:
                # Handle the requests and responces
            except Exception as e:
                print (e)
                c.close()
                exit()
        c.close()
    except socket.error:
        print (">>> an err occurred !" + socket.error)
        c.close()
        exit()

dnp3_lib.py:

from scapy.all import *
import crcmod.predefined
import string
from struct import pack, unpack
.
.
.
# some functions to handle CRC and other things

编辑:

我评论了from scapy.all import *,它显示了(ModuleNotFoundError: No module named 'crcmod')。我已经使用pip安装了crcmod。

python-3.x raspberry-pi3 raspbian scapy dnp3
1个回答
4
投票

[在许多系统上,pip默认为版本2,而不是版本3。最佳做法是始终输入pip2pip3而不是使用默认的pip来指定所需的版本。 >

在这种情况下,运行pip3 install scapy应该可以解决该错误。

编辑:您还将另外需要运行pip3 install crcmod,同样,您的脚本所依赖的每个其他软件包也将运行。

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