2012-06-29 39 views
1

我正在嘗試使用pylint爲jython代碼生成uml圖表。如果我在普通的Python代碼上運行它,一切運行良好,但是一旦我嘗試在包含swing導入的代碼上運行它時,它會崩潰並顯示一條錯誤消息。Jython的Pyreverse(pylint)

我運行python(!)在Jython上運行pylint它不會運行(2.7.2a)。我如何得到pylint(特別是pyreverse)來運行?目前它寫出所有文件名,然後失敗(我懷疑,因爲它無法檢查的java pacakges(擺動)我怎麼解決這個問題

ERRORMESSAGE

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? 

回答

1

這其實是一個錯誤與最近已在logilab-astng的存儲庫中修復的jython無關。此修復程序尚未發佈,同時您仍然可以使用mercurial checkout:http://hg.logilab.org/logilab/astng(默認分支)

+0

謝謝,現在我只是需要等待其他錯誤得到解決,並且logilab人的某個人決定了主要錯誤高度重視。我認爲你只是開發'astng'部分? – ted