установка пути к модулю импорта в Jython - странное поведение

Я строю Java для класса моста Jython. Задача, которую я пытаюсь решить, - заставить Jython искать модули python в рабочем каталоге моего приложения (также называемом каталогом выполнения программы).

Я делаю это, добавляяSystem.getProperty("user.dir") значение для sys.path:

pySysState = new PySystemState();
//add working directory into sys.path
pySysState.path.append(new PyString(System.getProperty("user.dir")));
log_.info("Jython sys state initialized. sys.path: " + this.pySysState.path);

Я получаю исключение ImportError:

python module 'user_module' was not found. sys.path: ['<other jars>\\Lib', '/<path to jython>/Lib', '__classpath__', '__pyclasspath__/', 'C:\\Users\\vvlad\\IDEAProjects\\transform']
ImportError: No module named scheduled_helper

at org.python.core.Py.ImportError(Py.java:290)
at org.python.core.imp.import_first(imp.java:750)
at org.python.core.imp.import_name(imp.java:834)
    ...

гдеC:\\Users\\vvlad\\IDEAProjects\\transform каталог приложений

Вsys.path выглядит так:

Импорт работает нормально, когда я вручную указываю полный путь к рабочему каталогу в переменной Python.path реестра Jython. А такжеsys.path выглядит иначе:

>>sys.path: ['C:\\Users\\vvlad\\IDEAProjects\\transform', '<other jars path>\\Lib', '/<path to jython>/jython-2.5.2.jar/Lib', '__classpath__', '__pyclasspath__/', ]

Таким образом, импорт работает нормально, когда рабочий каталог появляется как первая запись вsys.path, Но происходит сбой, когда рабочий каталог является последней записью.

Я использую Jython 2.5.2 и запускаю тесты на компьютере Windows из среды IntelliJ IDEA.

План B для меня будет установить реестр Jython python.path сuser.dir значение до инициализацииPySysState - но это привело бы к некоторому скрытому поведению.

Ответы на вопрос(1)

Ваш ответ на вопрос