2010-07-15 19 views
9

Tengo algunos problemas al importar scapy en jython. He estado haciendo java para siempre, pero Python solo por uno o dos días.Importación de módulos de python en jython

El caso simple para reproducir el problema es:

$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 

Si hago estas mismas medidas exactas en las python, todo funciona. ¿Cómo le digo a jython que use scapy? Si ayuda, estoy ejecutando ubuntu 10.04 e instalé jython y scapy a través de apt-get install

+0

Marque el 'sys.path' cuando ejecute Python. ¿Hay una diferencia? –

Respuesta

15

Has hecho lo correcto al imprimir sys.path. Ahora hay que ir a su shell pitón, y hacer esto:

$ python 
>>> import scapy 
>>> print scapy.__file__ 

Esto mostrará donde scapy está siendo importada desde. El problema más probable es que su jython sys.path no incluya el directorio que contiene scapy.

+0

Entonces, ¿cómo se puede agregar el directorio de paquetes de Python a jython sys.path? – BoltzmannBrain

5

Puede hacer el easy_install para jython.

Run:

jython ez_setup.py 

de http://peak.telecommunity.com/dist/ez_setup.py

A continuación, obtendrá un guión easy_install bajo su jython/bin ir allí y

jython easy_install scapy 

(o lo que sea módulo que necesita)

Entonces la próxima vez que inicie jytho n usted podrá importarlo.

+0

Tuve un problema en Tomcat donde tuve que hacer un 'sitio de importación' primero – Amala

+0

Los documentos oficiales están aquí: http://www.jython.org/jythonbook/en/1.0/appendixA.html?highlight=module#setuptools – user323094

+0

En mi caso, tuve que usar 'jython ez_setup.py scapy' en su lugar –

0

Modificación de la respuesta de Amala. Su código no funciona para mí, pero lo resolví con algo similar. Esto funciona en cambio.

Descargar ez_setup.py de aquí http://peak.telecommunity.com/dist/ez_setup.py

A continuación, ejecute jython ez_setup.py scapy.

Ejecutarlo en cualquier ruta de carpeta no importa

Cuestiones relacionadas