2017年6月17日土曜日

wxPython 3.0.2.0 (Windows版) をインストールする際の注意事項 (「ImportError: No module named wx」対策)

要旨

  • wxPython 3.0.2.0 (64-bit Python 2.7) の Windows Binaries インストーラ (wxPython3.0-win64-3.0.2.0-py27.exe) には、不具合がある。

  • 上記インストーラは、wxPyhon のモジュールを、Python が認識できない場所にインストールしてしまう。

    誤: python\Lib\site-packages\wx-3.0-msw\wx
    正: python\Lib\site-packages\wx

  • また、インストールオプションによっては、wxPythonモジュール自体をインストールしない場合がある。


wxPython (3.0) のインポートエラー発生時に確認すべきこと

  1. site-packages 直下に、「wx」というディレクトリがあるか?
    → この記事で言及している事象が発生しているのならば、存在しないはず。

  2. site-packages 直下に、「wx-3.0-msw」というディレクトリがあるか?
    → こちらについては、インストーラが正常終了したのであれば、存在するはず。

  3. site-packages\wx-3.0-msw 直下に、「wx」というディレクトリがあるか?
    → インストールオプションにより結果は異なる。詳細は後述。


wxPython (3.0) のインポートエラーの解決方法

ケースA: 上記 3. の答えが 「YES」 の場合

症状: wxPython モジュール自体はインストールできているが、インストール先の場所が正しくない。

wx」ディレクトリを、一つ上の階層(= site-packages 直下) に移動させることで、インポートエラーが解消する。


ケースB: 上記 3. の答えが 「NO」 の場合

症状: wxPython モジュール自体がインストールできていない。

この事象が発生するのは、インストール時のインストールオプションで「Compact installation」を選んだ場合である。(おそらく、wxPython インストーラの不具合)

解決するためには、wxPyhon の再インストールが必要。

最も手っ取り早いのは、wxPython を「Full installation」で入れなおせばよい。

しかしながら、あくまで「Compact installation」相当でインストールしたい場合には、一度「Full installation」を選んでから、不要なチェックボックスを外せばよい。

※以降は、上記 ケースA と同じ。


(余談) 「Compact installation」インストールオプションの不具合について

「Compact installation」インストールオプションを選択すると、なぜか「wxPython modules and library」が OFF かつ 非活性(チェック不可) となる。

気づかずにこのままインストールを進めると、(アンインストーラ以外は)何もインストールされずにインストーラが正常終了する。

0 件のコメント :

コメントを投稿