导入问题 - 我的Jython是否正确安装?

时间:2013-02-13 06:36:32

标签: eclipse jython pythonpath

我开始使用Jython。我注意到,当从命令行执行Jython而不是从Eclipse执行Jython时,sys.path完全不同。

命令行

tk:~$ jython 
Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:48:36) 
[Java HotSpot(TM) Server VM (Oracle Corporation)] on java1.7.0_10
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys                      
>>> print sys.path
['',
 '/jproject/extras/2.5.3/Lib',
 '__classpath__',
 '__pyclasspath__/',
 '/jproject/extras/2.5.3/Lib/site-packages']

没关系,我可以从那里导入所有内容(导入pdb,导入csv等)。

的Eclipse

我使用“添加JAR”按钮将Eclipse中的jython.jar添加到Java Build Path。我写了一个简单的Java类(摘录):

PythonInterpreter pi = new PythonInterpreter();
pi.exec("import sys");
pi.exec("print sys.path");

输出:

['/jproject/projects/foobar/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/MyProject/WEB-INF/lib/Lib',
 '__classpath__',
 '__pyclasspath__/']

从Java项目中创建的Python脚本中我无法导入任何内容。我总是得到ImportError:没有名为...的模块

所以我在我的主目录中创建了一个名为.jython的文件,其中包含:

python.path=/jproject/extras/2.5.3/Lib:/jproject/extras/2.5.3/Lib/site-packages

似乎解决了导入问题。但是,这是正确的进行方式吗?

我想我不必手动完成最后一步,可能是我严重安装了Jython。

1 个答案:

答案 0 :(得分:1)

我的问题here中描述了同样的问题:

我提出的解决方案是workaround,不需要用户设置python.path的任何操作:基本上我添加了将python.path设置为应用程序工作目录(user.path)的代码初始化jython环境。