2010-07-15 28 views
9

Je rencontre des problèmes lors de l'importation de scapy sous jython. Je fais java pour toujours, mais python pour seulement un jour ou deux.Importer des modules python dans jython

Le cas simple de reproduire le problème est:

$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 je fais ces mêmes étapes exactes sous python, tout fonctionne. Comment puis-je dire à Jython d'utiliser scapy? Si cela aide, je cours ubuntu 10.04 et installé jython et scapy via apt-get install

+0

Vérifiez la 'sys.path' lorsque vous exécutez Python à la vanille. Y a-t-il une différence? –

Répondre

15

Vous avez fait la bonne chose en imprimant sys.path. Maintenant, vous devez aller à votre shell python, et faire ceci:

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

Cela montrera où scapy est importé de. Le problème le plus probable est que votre jython sys.path n'inclut pas le répertoire contenant scapy.

+0

Alors, comment le répertoire pour les paquets python peut-il être ajouté au jython sys.path? – BoltzmannBrain

5

Vous pouvez faire le easy_install pour jython.

Run:

jython ez_setup.py 

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

Ensuite, vous obtiendrez un script easy_install sous votre Jython/bin y aller et

jython easy_install scapy 

(ou quel que soit le module dont vous avez besoin)

Alors la prochaine fois que vous lancerez jytho n vous pourrez l'importer.

+0

J'ai eu un problème sous tomcat où j'ai dû faire un 'site d'import' en premier – Amala

+0

Les documents officiels sont ici: http://www.jython.org/jythonbook/fr/1.0/appendixA.html?highlight=module#setuptools – user323094

+0

Dans mon cas, j'ai dû utiliser 'jython ez_setup.py scapy' à la place –

0

Modification de la réponse d'Amala. Son code ne fonctionne pas pour moi, mais je l'ai résolu avec quelque chose de similaire. Cela fonctionne à la place.

Télécharger ez_setup.py d'ici http://peak.telecommunity.com/dist/ez_setup.py

Ensuite, exécutez jython ez_setup.py scapy.

Courir sur tout chemin du dossier n'a pas d'importance