pygameのダウンロードはctypesのを台無しにされました
質問
import mymodule, ctypes
#import pygame
foo = ctypes.cdll.MyDll.foo
print 'success'
私はimport pygame
のコメントを解除した場合、これはWindowsError: [Errno 182] The operating system cannot load %1
で失敗します。スタックフレームはMYDLLをロードしようとしている、のctypes Pythonコードです。 Win32エラーコード182 ERROR_INVALID_ORDINAL
です。 pygameのインポートがない場合、スクリプトが正常に実行されます。
アップデート:私は、デバッガの外にそれを実行する場合は、%1を作業ディレクトリにあるとMYDLLが参照する、とpygameのは確かのlibpngのいくつかのバージョンをロードしている「libpng13.dll」で満たされています。私はこの問題を解決するだろうか見当がつかないます。
解決
このDLLは、紛争のように聞こえます。 import pygame
のニーズをMyDll
dllファイルとの互換性はありませんいくつかのDLLをロードしているようです。
あなたはそれがプロセスがロードされたDLLをどの表示することができ、のSysinternals ProcessExplorerでこれをデバッグしようとする必要があります。両方の場合で異なるのDLLを探します。
dllの問題をデバッグする別の便利なツールが www.dependencywalker.comする
から、dependencywalkerです他のヒント
レコードの更新:私は、異なるモジュール(pygameのダウンロード、およびMYDLL)によってロードされているのlibpngの複数のバージョンがあったと信じています。私は2つのモジュールと、すべてのダンディを分離するためにマルチプロセッシングを使用します。
所属していません StackOverflow