【问题标题】:Eclipse + Jython: Python module not found using one-to-one object factoryEclipse + Jython:使用一对一对象工厂找不到 Python 模块
【发布时间】:2011-12-18 07:16:18
【问题描述】:

我正在尝试使用 Python 模块(在 Eclipse 中)运行 Eclipse Java 项目,但我不断收到错误消息,提示找不到我的 Python 模块。我正在遵循Python 权威指南“更详细的一对一对象工厂”中解释的方法。我认为我的项目配置/路径设置有问题,但我无法弄清楚到底是什么。

这是错误信息:

PYTHONPATH: ['.', '/opt/eclipse/plugins/org.python.pydev.jython_2.2.3.2011100616/Lib'] 线程“main” Traceback 中的异常(最里面的最后一个): (无代码对象)在第 0 行 ImportError:没有名为 building 的模块

Python 路径是从state.path 检索到的(其中statePySystemState 的一个实例)。

到目前为止,我已经定义了相关的 Java 接口,实现了 Python 模块,并将其全部放在类路径中。此外,该项目同时添加了 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>

【问题讨论】:

    标签: java python eclipse jython pydev


    【解决方案1】:

    对于 PyDev,在 Java 项目中,您必须将 bin 文件夹添加到 PYTHONPATH(即:包含 .class 文件的文件夹,而不是包含 .java 文件的文件夹)。

    请参阅:http://pydev.org/manual_101_project_conf2.html(最后一部分)以获得适当的参考。

    【讨论】:

    • 这样做了,但是实现类似的python类仍然找不到我的java接口。任何其他建议,也许基于修改后的问题?非常感谢!
    猜你喜欢
    • 2017-09-24
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多