在Jython中导入Python模块
我在用 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
这是对Amala回答的修改。他的代码对我来说不管用,但我用类似的方法解决了问题。这段代码可以正常工作。
首先,从这里下载 ez_setup.py
:http://peak.telecommunity.com/dist/ez_setup.py
然后运行 jython ez_setup.py scapy
。
在任何文件夹路径下运行都没关系。
5
你可以通过easy_install来安装jython。
运行以下命令:
jython ez_setup.py
从这个链接下载:http://peak.telecommunity.com/dist/ez_setup.py
然后你会在你的jython/bin目录下找到一个easy_install脚本,去那个地方。
jython easy_install scapy
(或者你需要的任何模块)
下次启动jython的时候,你就可以导入它了。
16
你做得很好,打印了 sys.path。现在你应该打开你的 Python 命令行,输入以下内容:
$ python
>>> import scapy
>>> print scapy.__file__
这样你就能看到 scapy 是从哪里被导入的。最有可能的问题是,你的 jython 的 sys.path 里没有包含 scapy 所在的文件夹。