我不能让py2exe包否正确,甚至一个简单的脚本中使用的win32file 我不断地得到以下错误信息:

Traceback (most recent call last):
  File "dependency_checker.py", line 1, in <module>
  File "win32file.pyc", line 12, in <module>
  File "win32file.pyc", line 10, in __load
ImportError: DLL load failed: The specified procedure could not be found.

剧本如下:

import win32file
print "Hello world!"

这里是的setup.py:

from distutils.core import setup
import py2exe
setup(console=['dependency_checker.py'])

你有过类似的问题吗?

版本:

蟒蛇2.6.2,py2exe0.6.9,pywin32-214,Windows7和Windows XP亲为目标的机器

更新:

  • 我可以运行捆绑的程序在我的窗7创建,但我不能运行它在XP机。
  • 该部分的win32file.pyc引发的错误,如下:

    >>> imp.load_dynamic('win32file', r'C:\test\setup-test\src\dist\win32file.pyd')
    

线路上我的开发中(windows7)正常运行,而在测试中(windows XP)返回的错误。

**更新2:**

当我使用的小鬼。load_dynamic载win32file形式python安装然后我可以重新加载win32file.pyd的dist文件夹没有错误。

有帮助吗?

解决方案

该soution被删除MSWSOCK.dll 这是复制的区目录通过py2exe不正确。

我用procmon和listdll检查加载的win32file.pyd时进口是成功的,什么dll装载时进口的失败。然后有名单的dll我已经检查,如果他们是正确装载ie。蟒蛇dll dist文件夹和windows dll从窗户的文件夹。

这里是的setup.py 这工作很好

from distutils.core import setup
import py2exe
setup(console=['dependency_checker.py'],
     options={'py2exe': {"dll_excludes": ["mswsock.dll", "MSWSOCK.dll"]}}
     )
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top