Импорт модулей python в jython
У меня возникли проблемы с импортированием 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
Ответы
Ответ 1
Вы сделали правильную печать sys.path. Теперь вы должны пойти в свою оболочку python и сделать это:
$ python
>>> import scapy
>>> print scapy.__file__
Это покажет, откуда импортируется scapy. Наиболее вероятная проблема заключается в том, что ваш jython sys.path не включает каталог, содержащий scapy.
Ответ 2
Вы можете сделать easy_install для jython.
Run:
jython ez_setup.py
из http://peak.telecommunity.com/dist/ez_setup.py
Затем вы получите easy_install script под свой jython/bin
идите туда и
jython easy_install scapy
(или любой другой модуль, который вам нужен)
Затем при следующем запуске jython вы сможете импортировать его.
Ответ 3
Модификация от ответа Амалы. Его код не работает для меня, но я решил его с чем-то похожим. Это работает вместо этого.
Скачайте ez_setup.py
здесь http://peak.telecommunity.com/dist/ez_setup.py
Затем запустите jython ez_setup.py scapy
.
Запуск его на любом пути папки не имеет значения