簡體   English   中英

Python 2.6.6應用程序的Scapy投擲語法錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM