在jython中导入python模块

时间:2010-07-15 13:48:55

标签: python import jython importerror scapy

我在jython下导入scapy时遇到了一些问题。我一直在做java,但python只用了一两天。

重现问题的简单案例是:

$jython

>>> import sys
>>> sys.path
['', '/usr/share/jython/Lib', '/usr/lib/site-python', '__classpath__']
>>> from scapy.all import *
Traceback (innermost last):
File "<console>", line 1, in ?
ImportError: no module named scapy

如果我在python下执行完全相同的步骤,一切正常。我怎么告诉jython使用scapy?如果它有帮助,我正在运行ubuntu 10.04并通过apt-get install安装了jython和scapy

3 个答案:

答案 0 :(得分:15)

你已经做了正确的事情打印sys.path。现在你应该去你的python shell,并执行此操作:

$ python
>>> import scapy
>>> print scapy.__file__

这将显示从哪里输入scapy。最可能的问题是你的jython sys.path不包含包含scapy的目录。

答案 1 :(得分:5)

你可以为jython做easy_install。

执行命令

jython ez_setup.py 

来自http://peak.telecommunity.com/dist/ez_setup.py

然后您将在jython / bin下获得一个easy_install脚本 去那里

jython easy_install scapy

(或您需要的任何模块)

然后下次启动jython时,您将可以导入它。

答案 2 :(得分:0)

Amala回答的修改。他的代码对我不起作用,但我用类似的东西解决了它。这是有效的。

从此处http://peak.telecommunity.com/dist/ez_setup.py

下载ez_setup.py

然后运行jython ez_setup.py scapy

在任何文件夹路径上运行都无关紧要