Question

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

Was it helpful?

Solution

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.

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top