[英]Scapy throwing syntax error for python 2.6.6 application
我曾經在Python2.7上開發過一個程序,並且需要針對Python 2.6.6對其進行重新設計。 我做了一些小的更改,但是在嘗試編譯時收到此錯誤。 有人遇到過嗎? 我在Google上找不到很多東西。 任何幫助,將不勝感激
Traceback (most recent call last):
File "makexml.py", line 13, in <module>
from scapy.all import rdpcap
File "/user/.pyenv/versions/2.6.6/lib/python2.6/site-
packages/scapy/all.py", line 11, in <module>
from scapy.config import *
File "/user/.pyenv/versions/2.6.6/lib/python2.6/site-
packages/scapy/config.py", line 84
self.layers = {owner for f in self.fields for owner in f.owners}
^
SyntaxError: invalid syntax
集合理解是Python 3的一項新功能,該功能已反向移植到Python 2.7 。
因此,如果嘗試在早期版本中使用它,則會收到SyntaxError
。
最簡單的更改是將生成器表達式傳遞給set
構造函數:
self.layers = set(owner for f in self.fields for owner in f.owners)
(這將一直運行到2.4。在此之前,沒有內置set
,也沒有生成器表達式,但是您可能會遇到更大的問題,例如,異常……)
Scapy 2.4.0與Python 2.6不兼容。 您應該將Scapy降級到2.3.3,該版本支持Python 2.6(我認為是2.5)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.