ImportError: MemoryLoadLibraryの対処法

wxPythonで作ったWin32アプリケーションをpy2exeでひとつのファイルにまとめていたら、あるPCで以下のようなエラーが発生。

  File "zipextimporter.pyo", line 82, in load_module

  File "wx__init__.pyo", line 45, in <module>

  File "zipextimporter.pyo", line 82, in load_module

  File "wx_core.pyo", line 4, in <module>

  File "zipextimporter.pyo", line 98, in load_module

ImportError: MemoryLoadLibrary failed loading wx_core_.pyd

発生したマシンはWindows XP Professional SP3で、ユーザは管理権限。他のマシンでは発生しなくて、発生原因が不明だったのだけど、「ImportError: MemoryLoadLibrary failed loading wx_core_.pyd」で検索したらそれっぽいのがたくさん…

結構メジャーな問題?

解決策は主にこのフォーラムに。

OpenSubtitles.org // View topic – Solution for MemoryLoadLibrary failed loading wx_core_.pyd

早い話が、msvcp71.dllを持ってきて入れろってことらしい。py2exeを実行したときに一緒に配置されるmsvcr71.dllではなく。

msvcp71.dllが何なのかと、うまく動かない環境ではこのファイルがどうなってるのかは後で調べます。軽く見たところでは、こんなことらしい。

答えてねっと 投稿全文表示

下記のVC++2005再頒布可能パッケージに含まれているのかな…未確認。

ダウンロードの詳細 : Visual C++ 2005 再頒布可能パッケージ (x86)

出所不明だけど、DLLだけ入手するなら以下のサイトから。

DLL-files.com – Download of msvcp71

同じ人の別のマシンで、また別のエラーが出てるらしいんだよなぁ…それも調べないと。

追記:

ProblemsToBeFixed – py2exe.org

ってゆーか、公式にまるっと全部書いてあったYo!

py2exe 0.6.8で発生したので、とりあえず0.6.9にしてみるか…0.6.8で直ってるみたいなことが書いてあるのだけど…

まぁでも解決策はmsvcp71.dllを置けってことなのね。


新しく会社作りました!

コメントをどうぞ