1

pylint を使用して、jython コードの UML ダイアグラムを生成しようとしています。プレーンな python コードで実行すると、すべて正常に動作しますが、swing インポートを含むコードで実行しようとすると、エラー メッセージが表示されてクラッシュします。

私はpython(!)でpylintを実行していますが、Jythonでは実行されません(2.7.2a)。pylint (特に pyreverse) を実行するにはどうすればよいですか? 現在、すべてのファイル名を書き出してから失敗します(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?
4

1 に答える 1

1

これは実際には、logilab-astng のリポジトリで最近修正された jython とは関係のないバグです。この修正はまだリリースされていませんが、当面は水銀チェックアウトを引き続き使用できます: http://hg.logilab.org/logilab/astng (デフォルト ブランチ)

于 2012-07-02T06:47:53.823 に答える