2015-12-11 4 views
1

На всякий случай кто-либо пытается использовать Jython внутри встроенного модуля eclipse-build-in. Я страдал за 2 дня на следующую ошибке, которые произошедшая, как только я пытаюсь импортировать мой питон скрипты через interpreter.exec("from myScript import *\n");:Eclipse Plugin + Jython - Необработанное исключение цикла события

!ENTRY org.eclipse.ui 4 0 2015-12-11 11:22:53.549 
!MESSAGE Unhandled event loop exception 
!STACK 0 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "/opt/eclipse/luna/../../../common/home/bel/schwinn/lnx/workspace-silecs/silecs-configuration/src/scripts/iecommon.py", line 6, in <module> 
    from xml.dom import minidom 
    File "/common/home/bel/schwinn/lnx/workspace-silecs/silecs-configuration/target/lib/jython-standalone-2.7.0.jar/Lib/xml/dom/__init__.py", line 226, in <module> 
    File "/common/home/bel/schwinn/lnx/workspace-silecs/silecs-configuration/target/lib/jython-standalone-2.7.0.jar/Lib/xml/dom/MessageSource.py", line 19, in <module> 
    File "/common/home/bel/schwinn/lnx/workspace-silecs/silecs-configuration/target/lib/jython-standalone-2.7.0.jar/Lib/xml/FtCore.py", line 38, in <module> 
    File "/common/home/bel/schwinn/lnx/workspace-silecs/silecs-configuration/target/lib/jython-standalone-2.7.0.jar/Lib/xml/FtCore.py", line 38, in <module> 
    File "/common/home/bel/schwinn/lnx/workspace-silecs/silecs-configuration/target/lib/jython-standalone-2.7.0.jar/Lib/gettext.py", line 58, in <module> 
    File "/opt/eclipse/luna/../../../common/home/bel/schwinn/lnx/workspace-silecs/silecs-configuration/target/lib/jython-standalone-2.7.0.jar/Lib/posixpath.py", line 77, in join 
AttributeError: 'NoneType' object has no attribute 'endswith' 

ответ

0

Это требуется установить свойство python.home некоторого значение. Похоже, что даже не имеет значения, какое значение ... просто нехорошо оставить его пустым. Установка свойства, например. может быть выполнена в Java-коде:

String jythonJarPath = "target/lib/jython-standalone-2.7.0.jar"; 
    String pythonLibPath = SilecsUtils.findInBundle(jythonJarPath); 
    Properties sysProps = System.getProperties(); 
    sysProps.setProperty("python.path", pythonLibPath + "/Lib"); 
    sysProps.setProperty("python.home", ".");