pysvn を含む py2exe のプログラム (package.py) を実行しようとしています。次のエラーで実行に失敗しています。
Traceback (most recent call last):
File "package.py", line 27, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "pysvn\__init__.pyc", line 99, in <module>
File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading pysvn\_pysvn_2_6.pyd
スクリプトは、オフィス内の他のユーザーに対しては問題なく実行されます。違いは、私が Windows 7 x64 を使用しており、彼らが WinXP x86 を使用していることです。pysvn ディレクトリに _pysvn_2_6.pyd があります。
Py2exe の "Problems to be Fixed" ページには、必要なシステム モジュールが見つからないという WxPython に関する同様のエラー メッセージがありますが、私は WxPython を使用しておらず、参照している dll があります。
「さまざまなパッケージとモジュールの操作」のpy2exeページはpysvnを参照しておらず、同様の問題を抱えている人は他に見つかりません。
この回答で概説されているようにpy2exeの出力を確認しましたが、私のコンピューターには必要なすべてのバイナリファイルが正しい場所にあるようです。
編集:この同じマシンで他のpy2exe作成プログラムを実行しようとしましたが、それらも失敗しました。問題は、変換していた特定のプログラムではなく、私のマシン (つまり x64) にあるようです。別のプログラムでも同様のエラーが発生します。
Traceback (most recent call last):
File "rundemo.py", line 13, in <module>
import win32api as w32
File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading win32api.pyd
EDIT2: 32 ビット マシンで 64 ビット Compy から生成された py2exe プログラムを試しましたが、同じエラーで失敗しました。私は32ビットのexeを生成していると思います(py2exeのドキュメントでは、64ビットのサポートは実験的であり、明示的にオンにしていません)が、確認する方法がわかりません。