16

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
  • Check the sys.path when you run vanilla Python. Is there a difference? Commented Jul 15, 2010 at 13:57

3 Answers 3

16

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.

Sign up to request clarification or add additional context in comments.

1 Comment

So how then can the directory for python packages get added to the jython sys.path?
5

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.

4 Comments

I had an issue under tomcat where I had to do a 'import site' first
The official docs are here: jython.org/jythonbook/en/1.0/…
In my case, I had to use jython ez_setup.py scapy instead
What good is that going to do me? I can use the PYTHONPATH and then it works to import modules. What doesn't work is that the imported module can import other modules.
0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.