无法使用使用pyshark的pypy3脚本运行



这里我试图用pypy3c.py运行脚本,但出现了上述错误,我安装了pypy3-m pip安装pyshark,但是。。。

pypy3 c.py

ModuleNotFoundError:没有名为"lxml.objectify"的模块

import pyshark
import pandas as pd
import numpy as np
from multiprocessing import Pool
import re
import sys
temp_array  = []
cap = pyshark.FileCapture("ddos_attack.pcap")
#print(cap._extract_packet_json_from_data(cap[0]))
def parse(capture):
print(capture)
packet_raw = [i.strip('r').strip('t').split(':') for i in str(capture).split('n')]
packet_raw = map(lambda num:[num[0].replace('(',''),num[1].strip(')').replace('(','')] if len(num)== 2 else [num[0],':'.join(num[1:])] ,[i for i in packet_raw])
raw = list(packet_raw)[:-1]
cols = [i[0] for i in raw]
vals = [i[1] for i in raw]
temp_array.append(dict(zip(cols,vals)))
return dict(zip(cols,vals))

def preprocess_dataset(x):
count = 0
temp = []
#print(list(cap))
#p = Pool(5)
#r = p.map(parse,cap)
#p.close()
#p.join()
#print(r)
try:
for i in list(cap):
temp.append(parse(i))
count += 1
except Exception:
print("somethin")
data = pd.DataFrame(temp)
print(data)
data = data[['Packet Length','.... 0101 = Header Length','Protocol','Time to Live','Source Port','Length','Time since previous frame in this TCP stream','Window']]
data.rename(columns={".... 0101 = Header Length": 'Header Length'})
filtr = ["".join(re.findall(r'd.',str(i))) for i in data['Time since previous frame in this TCP stream']]
data['Time since previous frame in this TCP stream'] = filtr
print(data.to_csv('data.csv'))

在这里,我试着用pypy3c.py运行脚本但出现了上述错误,我安装了pypy3-m pip安装pyshark,但是。。。

  1. 检查您的终端设置
  2. 尝试使用另一个编译器,如PyCharm

似乎没有正确安装lxml。很难弄清楚发生了什么,因为你只显示了回溯的最后一行,而没有说明你在哪个平台上,也没有说明你正在使用什么版本的PyPy。lxml包被列为pyshark的一个需求,因此应该已经安装了它。当您尝试import lxml时会发生什么?

最新更新