2

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ビットのサポートは実験的であり、明示的にオンにしていません)が、確認する方法がわかりません。

4

2 に答える 2

0

PyWin32をインストールします。

于 2010-07-06T19:29:43.280 に答える
0

py2exe プロジェクトは死んでいるように見えるので、exe を C++ で書き直しました。マシンで Win7 x64 用にビルドすることはできますが、Win7 で書き込んだ exe を古いもので実行することはできませんでした。

于 2010-10-29T14:47:28.493 に答える