金魚亭日常

読書,ガジェット,競技プログラミング

ImageJ の Python で __name__ が '__builtin__' になる

ImageJ (Fiji) の拡張をJython で書くとき,よくある感じで

if __name__ == '__main__':
  ...

というのを書いてたんですが,突然これやってる拡張が動かなくなりました.

調べてみると,どうやら __name____builtin__ になっているらしい.

一応Forumでも話題が出ており,scijava-common の方の最近の変更が原因らしいですが,どの部分かは不明.

forum.imagej.net

ワークアラウンドとして,

if __name__ in ['__main__', '__builtin__']:
  ...

が提案されてますが,元の挙動が正常なのでなおってほしい.