2011-09-29 87 views
1

我试图编写一个使用scapy模块的程序。我为我的开发使用PyDev,但是当我导入Scapy模块的某些部分时,它一直给我提供错误。我很确定我在PyDev中的导入路径正确设置。我在这里查看了一些涉及“未解决导入”错误的其他问题。但是,我看到的所有建议似乎都没有帮助。Pydev与Scapy给出“未解决的导入”错误

奇怪的是,它只是scapy模块的一部分,不起作用。因此,举例来说,当我做

from scapy.all import Ether, sendp 

然而PyDev的不抱怨,当我做

from scapy.all import IP, UDP 

我得到的错误。

我想也许我导入了错误的模块,但是当我去解释器并输入第二个例子时,它没有提供任何错误,然后我可以使用IP(params)创建IP数据包,这就是我正在尝试的在我的程序中做。

我使用ubuntu存储库安装了scapy,但是当我开始导入问题时,我从scapy.net下载了最新版本并使用了安装脚本。我甚至复制了zip文件并将其放入我的/usr/local/lib/python2.7/site-packages文件夹中,并将其添加到PyDev中的python路径中。但似乎没有任何东西能摆脱这个错误。

有什么建议可能会导致这种情况,以及如何解决它?

回答

0

你有没有尝试在强制buildins中添加'scapy'?详细信息请参见:http://pydev.org/manual_101_interpreter.html

+0

是的。它不是因为它看不到scapy。否则我将无法导入以太。我原以为我是从错误的模块导入的,但是当我从解释器执行时,它不会抱怨。这就像PyDev只看到它的一半。 – rhololkeolke

0

我有机会玩这个。我仍然不知道为什么PyDev在解释器中正常工作时给了我一个导入错误,但是我确实找到了解决方法。要导入之类的IP,UDP和TCP我现在使用以下

from scapy.layers.inet import IP, TCP, UDP 

对于非IPv4的东西

from scapy.all import <Module Name> 

似乎工作就好了。