我开始使用 Jython。我注意到sys.path
从命令行执行 Jython 与从 Eclipse 执行时完全不同。
命令行
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 等)。
蚀
我jython.jar
在 Eclipse 中使用“添加 JAR”按钮将其添加到 Java 构建路径。我写了一个简单的 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: No module named ...
所以我.jython
在我的主目录中创建了一个文件,其中包含:
python.path=/jproject/extras/2.5.3/Lib:/jproject/extras/2.5.3/Lib/site-packages
它似乎解决了导入问题。但是,这是正确的方法吗?
我想我不必手动执行最后一步,可能我安装的 Jython 很糟糕。