Jython - модуль в sys.path, но "модуль не найден" - PullRequest
2 голосов
/ 14 марта 2012

У меня есть несколько скомпилированных классов Java на моем sys.path (['.', 'D:\\PROGRA~1\\websphere_61\\base\\optionalLibraries\\jython\\Lib', 'D:\\program files\\websphere_61\\gmm\\scripts\\jython'])

В моей среде разработки они могут использоваться из Jython:

from au.com.blah import MagicMonkeys

Но на другой машинеЯ получаю сообщение об ошибке:

 Traceback (innermost last):
   File "<string>", line 1, in ?
 ImportError: no module named au

Я проверил правильность sys.path и наличие классов.Как я могу отладить это дальше?

edit:

  1. Я пытался использовать нотацию progra~1 вместо program files, но это не помогло.
  2. Я пытался добавить классы в classpath перед запуском wsadmin.bat.Это также не помогло.

1 Ответ

1 голос
/ 26 апреля 2013

Ошибка «нет модуля с именем au» обычно возникает из-за того, что оператор

from au.com.blah import MagicMonkeys

пытается найти модуль с именем au и найти в нем объект или определение с именем MagicMonkeys.

Решение Если вам нужно импортировать все методы из класса / модуля с именем MagicMonkeys, вам нужно написать следующее:

from MagicMonkeys import *

и убедиться, что путь, по которому находится MagicMonkeys.py,в системном пути.Если нет, то вам нужно вызвать wsadmin со следующими параметрами.

wsadmin.bat -lang jython -javaoption "-Dpython.path=the-path-to-your-module" -f yourscript.py

Надеюсь, это работает!

...