import mymodule, ctypes
#import pygame
foo = ctypes.cdll.MyDll.foo
print 'success'
如果我取消注释import pygame
这将失败WindowsError: [Errno 182] The operating system cannot load %1
。堆栈框架在 ctypes python 代码中,试图加载 MyDll。win32 错误代码 182 是ERROR_INVALID_ORDINAL
. 如果 pygame 导入不存在,则脚本运行成功。
更新:如果我在调试器之外运行它,%1 会充满“libpng13.dll”,它位于工作目录中并由 MyDll 引用,并且 pygame 肯定会加载某些版本的 libpng。我不知道我将如何解决这个问题。