Eclipse Jython: модуль Python не найден с использованием фабрики объектов «один к одному»

#java #python #eclipse #jython #pydev

#java #python #eclipse #jython #pydev

Вопрос:

Я пытаюсь запустить проект Eclipse Java с использованием модуля Python (в Eclipse), но я продолжаю получать сообщение об ошибке, в котором говорится, что мой модуль Python не найден. Я следую подходу, описанному в окончательном руководстве по Python «Более подробные фабрики объектов «Один к одному». Я думаю, что есть проблема с настройками конфигурации / пути моего проекта, но я не могу понять, что именно.

Это сообщение об ошибке:

PYTHONPATH: ['.', '/opt/eclipse/plugins/org.python.pydev.jython_2.2.3.2011100616/Lib']
Исключение в "основной" трассировке потока (самой последней внутренней):
 (нет объекта кода) в строке 0
Ошибка импорта: нет модуля с именем building

Путь к Python был получен из state.path (где state является экземпляром PySystemState ).

До сих пор я определил соответствующий интерфейс Java, реализовал модуль Python и поместил все это в classpath. Кроме того, в проект добавлена природа Java и PyDev, а также папка с исходным кодом Python находится на PYTHONPATH . Я все еще получаю вышеупомянутую ошибку. Нужно ли мне добавлять исходную папку Python (содержащую модуль) где-то еще?

Обновление: как было предложено Fabio (см. Ниже), я добавил файлы Java bin в путь Python и удалил исходные файлы Java. Это ничего не решило, поэтому вот мои файлы конфигурации проекта.

Моя конфигурация PyDev:

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?>

<pydev_project>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">jython</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">jython 2.7</pydev_property>
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/SampleJythonIntegration/pysrc</path>
<path>/SampleJythonIntegration/bin</path>
</pydev_pathproperty>
</pydev_project>
  

Моя конфигурация Java:

 <?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>SampleJythonIntegration</name>
<comment></comment>
<buildSpec>
    <buildCommand>
        <name>org.python.pydev.PyDevBuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.python.pydev.pythonNature</nature>
</natures>
</projectDescription>
  

Ответ №1:

Для PyDev в проекте Java вам необходимо добавить папку bin в PYTHONPATH (т. Е. Папку с файлами .class, а не с файлами .java).

Смотрите: http://pydev.org/manual_101_project_conf2.html (последняя часть) для правильной ссылки.

Комментарии:

1. сделал это, однако мой интерфейс Java по-прежнему не может быть найден классом python, реализующим подобное. любые другие предложения, возможно, основанные на измененных вопросах? большое спасибо!