Jython 2.5.1: "导入错误:没有名为os的模块
我查看了其他帖子和错误报告,但还是搞不清楚是什么导致了这个问题。我在Eclipse的Java项目中使用Jython 2.5.1(操作系统是Ubuntu 8.10)。我把它作为一个独立的.jar文件添加到项目中(只是把旧的Jython 2.1的jar替换成了这个)。
我正在运行一个使用threading.py类的脚本。在某个时刻,linecache.py中的“import os”这行代码被执行时,我遇到了一个错误,我似乎找不到解决办法:
'Execution failed. Traceback (most recent call last):
File "<string>", line 1, in <module>
File "../lib/python/threading.py", line 6, in <module>
import traceback
File "../lib/python/traceback.py", line 3, in <module>
import linecache
File "../lib/python/linecache.py", line 9, in <module>
import os
ImportError: No module named os'
3 个回答
如果你在使用maven的时候遇到问题,试试用依赖项 jython-standalone
来替代 jython
,这对我在一个使用jython-standalone-2.5.3的maven项目中是有效的。
这里面有个很深层次的问题,但可能很容易解决。你看到的错误其实是在尝试报告其他错误时出现的。
很可能是你的PYTHONPATH设置不正确。我对Jython或者在Eclipse中运行Jython的细节不太了解,但看起来你没有可用的标准库。
你说的“随2.5下载包一起提供的jar文件”是什么意思呢?你是提取了内容并使用了jython.jar
,还是运行了安装程序?如果你只是提取了文件而没有运行安装程序,那么你的jython.jar
可能缺少整个LIB
文件夹。
你能检查一下jython.jar
里面是否有一个LIB文件夹吗?(比如用7z或者WinZip打开jython.jar
)。
或者试着把LIB
文件夹复制到jython.jar
所在的同一个文件夹里。
你有没有尝试设置这些属性呢?可以参考一下Jython注册表,比如在Eclipse的运行配置中通过-Dpython.home来设置。
python.cachedir
python.path
python.home
这个jar文件的名字是什么?如果类似于jython-complete.jar
,试着把它改名为jython.jar
。