我试图使用pylint为jython代码生成uml图表。如果我在普通python代码上运行它,那么一切都会正常运行,但是,一旦我尝试在包含swing导入的代码上运行它,它就会崩溃,并带有一条错误消息。
我正在python(!)上运行pylint在Jython中,它不会运行(2.7.2a)。如何使pylint (特别是py反向)运行?目前,它会写出所有文件名,然后失败(我怀疑因为它不能检查java数据包(swing),如何修复这个问题?
错误消息
Traceback (most recent call last): File "/usr/bin/pyreverse", line 4, in <module> main.Run(sys.argv[1:])
File "/usr/lib/python2.7/dist-packages/pylint/pyreverse/main.py", line 126, in __init__ PyreverseCommand(args)
File "/usr/lib/python2.7/dist-packages/pylint/pyreverse/main.py", line 98, in __init__ self.run(args)
File "/usr/lib/python2.7/dist-packages/pylint/pyreverse/main.py", line 112, in run diadefs = handler.get_diadefs(project, linker)
File "/usr/lib/python2.7/dist-packages/pylint/pyreverse/diadefslib.py", line 228, in get_diadefs diagrams = DefaultDiadefGenerator(linker, self).visit(project)
File "/usr/lib/python2.7/dist-packages/logilab/astng/utils.py", line 103, in visit self.visit(local_node)
File "/usr/lib/python2.7/dist-packages/logilab/astng/utils.py", line 100, in visit methods[0](node)
File "/usr/lib/python2.7/dist-packages/pylint/pyreverse/diadefslib.py", line 161, in visit_module self.linker.visit(node)
File "/usr/lib/python2.7/dist-packages/logilab/astng/utils.py", line 103, in visit self.visit(local_node)
File "/usr/lib/python2.7/dist-packages/logilab/astng/utils.py", line 100, in visit methods[0](node) File "/usr/lib/python2.7/dist-packages/logilab/astng/inspector.py", line 257, in visit_from fullname = get_module_part(fullname)
File "/usr/lib/python2.7/dist-packages/logilab/common/modutils.py", line 334, in get_module_part
'explicit relative import, but no context_file?' AssertionError: explicit relative import, but no context_file?发布于 2012-07-02 06:47:53
这实际上是一个与jython无关的bug,它最近在logilab-astng的存储库中得到了修复。此修复程序尚未发布,同时还可以使用mercurial签出:http://hg.logilab.org/logilab/astng (默认分支)
https://stackoverflow.com/questions/11262436
复制相似问题