我的问题类似于ImportErrorCmd,但我正在使用Windows并尝试在PyDev Eclipse中运行此DAMN。我知道如何让它在cmd上工作但不在Eclipse中工作。
问题
无论如何,所以我在这里试图让这个例子@ ImportErrorSimpleExample 开始工作(那里的解决方案对我没用)。在Eclipse中,我使用以下代码创建了一个Java项目:(link - > C:\ Users \ compski \ workspace \ test \ src \ test \ Greeter.java )
package test;
public class Greeter {
private String msg;
public Greeter() {
msg = "Hello, ";
}
public void greet(String name) {
System.out.println(msg + name);
}
}
在Eclipse中,我使用名为me.py的Jython代码创建了一个PyDev项目:(link - > C:\ Users \ compski \ workspace \ Jython \ Test \ me.py )
from test import Greeter
g = Greeter()
g.greet("yours truly")
尝试修复" ImportError"但失败了:
1)我尝试将我的java代码添加到PYTHONPATH(C:\ Users \ compski \ workspace \ test \ src \ test \ Greeter.java和C:\ Users \ compski \ workspace \ test \ src \ test)中,如下所示这里 - > Proposed Solution 1。仍然没有工作
2)我将我的Java项目设置为PyDev项目(右键单击Java项目 - > PyDev - >设置为Pydev项目,但我没有任何" bin文件夹"。然后我也项目引用我的Java项目,包含Greeter.java到我的PyDev项目,就像在这里 - > Proposed solution 2。仍然没有工作
3)来自SO聊天的1个人告诉我,我需要"你需要添加目录,jars,java将从中找到你给它的类c:\ foo \ bar \ bazand import zyxxy.Frobnicator然后它寻找c:\ foo \ bar \ baz \ xyzzy \ Frobnicator"但我不认为我完全明白他的意思,因为这听起来像我在1)所做的那样。4)......你的回答?
答案 0 :(得分:1)
好了,现在我们在这里有真实的文件名:给定PYTHONPATH
C:\Users\compski\workspace\test\src\test
,from test import Greeter
之后,它会尝试在Greeter.class
中找到PYTHONPATH
C:\Users\compski\workspace\test\src\test\test\Greeter.class
的每个条目;它试图找到C:\Users\compski\workspace\test\src\test\Greeter.java\test\Greeter.class
和PYTHONPATH
,但两者都不存在。
相反,在Eclipse中,如果我没记错,你可以向test
添加项目,这可能是首选在IDE中进行测试 - 因此只需添加test\Greeter.class
在PYTHONPATH项目。另一个选择是添加找到C:\Users\compski\workspace\test\bin
的目录;这在Eclipse中应该是src
- 默认情况下,Java-natured项目将文件从bin
编译到项目中的(隐藏)test
文件夹。
最后,如果错误是关于{{1}}中找不到的GreeterClass,请注意test
是内置的python模块名称(尽管IIRC Jython没有该名称的模块)。