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



我用python3编写了一个程序,它通过DNP3协议读取和响应数据, 它打算在 rpi3 上运行 我在笔记本电脑上编写了代码,然后将其带到 rpi,安装了所有依赖项,但我收到一个我不知道如何处理的错误:ModuleNotFoundError: No module named 'scapy'我成功地安装了带有pip install scapy的 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'x05x64'
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。

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

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

编辑: 您还需要运行pip3 install crcmod,同样适用于脚本所依赖的每个其他包。

就我而言,我试图导入tensorflow_data_validation,但遇到了与(ModuleNotFoundError: No module named 'crcmod')相同的错误。当我尝试 pip 安装crcmod时,我收到消息说crcmod已经存在。我什至尝试卸载并安装软件包,但它不起作用。

最后解决了我的问题,运行pip uninstall crcmod,然后使用 conda 重新安装它,conda install -c conda-forge crcmod.现在它完美运行。

最新更新