Importing python modules in jython
I'm having some issues importing scapy under jython. I've been doing java forever, but python for only a day or two.
The simple case to reproduce the problem is:
$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 modu开发者_运维知识库le named scapy
If I do these exact same steps under python
, everything works. How do I tell jython to use scapy? If it helps, I'm running ubuntu 10.04 and installed jython and scapy via apt-get install
You've done the right thing printing sys.path. Now you should go to your python shell, and do this:
$ python
>>> import scapy
>>> print scapy.__file__
This will show where scapy is being imported from. The most likely problem is that your jython sys.path doesn't include the directory containing scapy.
You can do the easy_install for jython.
Run:
jython ez_setup.py
from http://peak.telecommunity.com/dist/ez_setup.py
Then you will get a easy_install script under your jython/bin go there and
jython easy_install scapy
(or whatever module you need)
Then next time you startup jython you will be able to import it.
Modification from Amala's answer. His code doesn't work for me, but I solved it with something similar. This works instead.
Download ez_setup.py
from here http://peak.telecommunity.com/dist/ez_setup.py
Then run jython ez_setup.py scapy
.
Running it on any folder path doesn't matter
精彩评论