Импорт модулей Python в Jython - PullRequest
11 голосов
/ 15 июля 2010

У меня проблемы с импортом scapy под jython. Я занимался Java всегда, но Python только день или два.

Простой случай воспроизведения проблемы:

$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

Если я выполняю те же самые шаги под python, все работает. Как мне сказать jython использовать scapy? Если это помогает, я запускаю Ubuntu 10.04 и устанавливаю jython и scapy через apt-get install

Ответы [ 3 ]

15 голосов
/ 15 июля 2010

Вы правильно сделали, печатая sys.path. Теперь вы должны перейти к вашей оболочке Python и сделать это:

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

Это покажет, откуда импортируется scapy. Наиболее вероятная проблема заключается в том, что ваш jython sys.path не включает каталог, содержащий scapy.

5 голосов
/ 10 августа 2010

Вы можете выполнить easy_install для jython.

Выполнить:

jython ez_setup.py 

из http://peak.telecommunity.com/dist/ez_setup.py

Затем вы получите скрипт easy_install в вашем jython / binперейдите туда и

jython easy_install scapy

(или любой другой модуль, который вам нужен)

Тогда при следующем запуске jython вы сможете его импортировать.

0 голосов
/ 26 ноября 2015

Модификация из ответа Амалы.Его код не работает для меня, но я решил что-то похожее.Это работает вместо этого.

Загрузите ez_setup.py отсюда http://peak.telecommunity.com/dist/ez_setup.py

Затем запустите jython ez_setup.py scapy.

Запуск его по любому пути к папке не имеет значения

...