原始帖子在这里:http : //mail.python.org/pipermail/python- win32/2010-December/011011.html 我在用: 操作系统:64 bit Windows 7 Professional 的Python:python-2.7.1.amd64 Python Win32扩展名:pywin32-214.win-amd64-py2.7 Py2exe:py2exe-0.6.9.win64-py2.7.amd64
原始帖子在这里:http : //mail.python.org/pipermail/python- win32/2010-December/011011.html
我在用:
我正在尝试为Windows构建图标覆盖。它在32位Windows上运行正常,但在64位Windows 7上却无法运行。
这是我为测试而创建的Python模块:
test_icon_overlay.py:(http://mail.python.org/pipermail/python-win32/attachments/20101229/bb8c78a4/attachment-0002.obj的Python为图标叠加创建)COM服务器这增加了查马克覆盖图标(C: \ icons \ test.ico)在“ C:\ icons”文件夹中
setup_VI.py:(http://mail.python.org/pipermail/python-win32/attachments/20101229/bb8c78a4/attachment-0003.obj其分配创建test_icon_overlay.dll)安装文件。
icons.zip:(http://mail.python.org/pipermail/python-win32/attachments/20101229/bb8c78a4/attachment-0001.zip)测试你应该提取icons.zip内C:\
C:\icons当我python test_icon_overlay.py在Windows命令提示符下执行并重新启动时,图标覆盖会出现在文件夹中explorer.exe。但它不能与使用创建的dll文件一起使用setup_VI.py
C:\icons
python test_icon_overlay.py
explorer.exe
setup_VI.py
我已经使用创建了dll文件python setup_VI.py py2exe,然后尝试使用进行了注册regsvr32 test_icon_overlay.dll。注册失败,并显示Windows错误消息Error 0x80040201 while registering shell extension。
python setup_VI.py py2exe
regsvr32 test_icon_overlay.dll
Error 0x80040201 while registering shell extension
然后我打开记录器Python27/Lib/site- packages/py2exe/boot_com_servers.py,在这里是我得到的回溯comerror.txt上regsvr32 test_icon_overlay.dll
Python27/Lib/site- packages/py2exe/boot_com_servers.py
comerror.txt
PATH is ['C:\\root\\avalon\\module\\sync\\python\\src\\dist\\library.zip'] Traceback (most recent call last): File "boot_com_servers.py", line 37, in <module> pywintypes.error: (126, 'GetModuleFileName', 'The specified module could not be found.') Traceback (most recent call last): File "<string>", line 1, in <module> NameError: name 'DllRegisterServer' is not defined
看来win32api.GetModuleFileName(sys.frozendllhandle)在64位Windows 7上使用dll构建或与之相关的问题。
win32api.GetModuleFileName(sys.frozendllhandle)
另外,我看到pywin32-214.win-amd64-py2.7在64位Windows 7上的安装完成并显示以下错误消息:Snapshot
pywin32-214.win-amd64-py2.7
close failed in file object destructor: sys.excepthook is missing lost sys.stderr
我做错了什么吗?对此,我们将给予任何帮助。
py2exe在64位Python上有一个错误。由py2exe初始化的sys.frozendllhandle无效,因此win32api.GetModuleFileName(sys.frozendllhandle)失败。
您可能想在http://www.lfd.uci.edu/~gohlke/pythonlibs/#py2exe尝试修补的py2exe安装程序