问题
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 module 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
回答1:
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.
回答2:
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.
回答3:
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
来源:https://stackoverflow.com/questions/3256135/importing-python-modules-in-jython