読者です 読者をやめる 読者になる 読者になる

Eclipse + PyDev 環境で Unresolved import Error の解決方法

Eclipse + PyDev 環境で Unresolved import Error の解決方法

このところ Python の開発環境を色々と( PyCharm 、 Anaconda + Spyder 、 Vim 、 Emacs ... ) 渡り歩いている。
もちろん、オールマイティに全部に使える環境なんてないので、用途に応じて使い分けることになるんだけど、最近新たに Eclipse + PyDev 環境が加わった。
Google App Engine が支えて py.test に対応してる環境を探してたらこうなったのだが、Unresolved import Error というエラーに悩まされており、ようやく解決できたので解決方法をメモっておく。

Eclipse + PyDev 環境で Unresolved import Error

Eclipse + PyDev 環境で開発していると、パスが通っているはず(しかも、コードを実行すると実際に import も出来ている)のに、Unresolved import error xxxx(パッケージ名)というように、import に失敗しているかのようなエラーがでることがある。

色々ググってみると同じ境遇の人がいた!
海外の人っぽいので、ブログは英語だけど、同じ状態っぽい。

Fixing PyDev memcache unresolved import - Kicaj Blog

http://blog.kicaj.com/wp-content/uploads/2012/06/gae_memcache_unresolved.png
そうそう、こんな感じ。
コマンドで python -m app とかで実行すると、ちゃんと実行できるので、import はできてるっぽいんだけど、Eclipse + PyDev 上でだけエラーが出続けるんだよね・・・

datalove.hatenadiary.jp

Eclipse + PyDev 環境で Unresolved import Error の解決方法

結局、このブログにかかれてる方法では解決しなくて、その先リンクされている stackoverflow(英語) の中にあった、エラーが出ているコード部分で、Ctrl + 1 から、@UnresolvedImport を選択し、# @UnresolvedImport を挿入することで解決した。
なんか、PyDev がネストしてるパッケージを正しく認識できないとかなんとか・・・ PyDev のバグなのか・・・

Eclipse + PyDev 環境で Unresolved import Error 参考リンク

他にも .pyc ファイルを削除しない設定をするとかで直ることもあるらしいです。全部英語のサイトばっか・・・英語できないとしんどいな・・・
blog.kicaj.com
stackoverflow.com
Python - Eclipse (Pydev) [Gerardnico]