У меня проблемы с импортом 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

11
TheBigS 15 Июл 2010 в 17:48

3 ответа

Лучший ответ

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

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

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

15
Ned Batchelder 15 Июл 2010 в 17:00

Вы можете сделать easy_install для Jython.

Бегать:

jython ez_setup.py 

От http://peak.telecommunity.com/dist/ez_setup.py

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

jython easy_install scapy

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

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

5
Amala 10 Авг 2010 в 00:06

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

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

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

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

0
Aminah Nuraini 26 Ноя 2015 в 10:26