Now on wxPython 2.8.x Upgrade from 2.7.x and 2.6.x
At work, I have a couple of apps we’re about to release that use py2exe and wxPython. And like many folks, I’ve ended up seeing the zipextimporter error trying to run the final .exe on a Windows 2000 box. Windows XP was fine. I was getting this error with a wxPython 2.7.x configuration. Since 2.8.1.x is now out, I figured I’d upgrade while I was at it. Now, my previously mentioned issue with the StaticBoxSizer is fixed so that’s definitely an improvement and I no longer have to use the --dell-exclude gdiplus.dll fix (yea!) , but I was still getting the zipextimporter error on _core_. Any search on google will turn up tons of hits for this error. Each time, folks are implored to include gdiplus.dll and stuff like that. No matter what advice I followed, it didn’t seem to work. But it turns out the missing file was really MSVCP71.DLL (rather than MSVCR71.DLL). By including that .DLL (you can get it from the wx library area referenced in the output of py2exe) with my .exe I’m suddenly good to go on Window 2K boxes. Under XP, everything is fine without it because it is presumably already installed on an XP box. Since I was having trouble finding info on it, I figured I’d blog about it. Essentially, it’s one of those things where you really need to just look at the output of py2exe because the bindings and includes for wxpython are now pretty darn accurate. Overall, a big thumbs up to wxPython 2.8.x so far. Now, I’m anxious to look at other areas to see what all is new/better.
Technorati Tags: python, wxpython, py2exe
5 Comments so far
Leave a reply
I experienced the same problem and found the same solution, but now I\’m wondering why Bittorrent doesn\’t need MSVCP71.DLL even though it was apparently built using py2exe and wxPython as well
It is surprising that you found Bittorrent without it in its directory… and it still worked under Windows 2K? If you poked around, I would imagine that MSVCP71.DLL is around the system somewhere… system32 or windows or somewhere that it can find it.
I just installed Bittorrent on a new and clean Windows 2000 (SP2) machine. Before installing Bittorrent I searched the complete hard disk for MSVCP71.DLL and MSVCR71.DLL and found neither the one nor the other. After the Bittorrent installation MSVCR71.DLL can be found in the Bittorrent directory but there is still no MSVCP71.DLL, neither in the Bittorrent directory nor elsewhere. I even searched for MSVCP71.DLL while Bittorrent was running … nothing. My next step was installing CurrProcess from http://www.nirsoft.net/utils/c… to view all the module files used by Bittorrent. According to CurrProcess it uses these files (but again, no MSVCP71.DLL):
_c_urlarg.pyd
_controls_.pyd
_core_.pyd
_ctypes.pyd
_gdi_.pyd
_gizmos.pyd
_grid.pyd
_iocp.pyd
_misc_.pyd
_socket.pyd
_ssl.pyd
_stc.pyd
_windows_.pyd
_zope_interface_coptimi zations.pyd
ACTIVEDS.DLL
ADSLDPC.DLL
ADVAPI32.dll
ARC4.pyd
bittorrent.exe
cBitfield.pyd
CLBCATQ.DLL
COMCTL32.DLL
comdlg32.dll
CRYPT32.dll
dde.pyd
DHCPCSVC.DLL
DNSAPI.DLL
GDI32.DLL
ICMP.DLL
IMM32.dll
INDICDLL.dll
iphlpapi.dll
KERNEL32.DLL
LZ32.DLL
MFC71.DLL
MPRAPI.DLL
msafd.dll
MSASN1.DLL
msimg32.dll
MSVCR71.dll
MSVCRT.DLL
MSWSOCK.dll
NETAPI32.DLL
NETRAP.DLL
ntdll.dll
ntdsapi.dll
ole32.dll
OLEAUT32.dll
Psapi.dll
PYTHON24.DLL
pythoncom24.dll
pywintypes24.dll
rasadhlp.dll
RASAPI32.DLL
RASMAN.DLL
riched20.dll
rnr20.dll
RPCRT4.DLL
rsaenh.dll
RTUTILS.DLL
SAMLIB.DLL
secur32.dll
security.dll
select.pyd
SETUPAPI.DLL
shell.pyd
SHELL32.dll
SHLWAPI.DLL
TAPI32.DLL
USER32.dll
USERENV.dll
VERSION.dll
win32api.pyd
win32event.pyd
win32file.pyd
win32gui.pyd
win32pipe.pyd
win32process.pyd
win32security.pyd
win32ui.pyd
WINMM.dll
winrnr.dll
WINSPOOL.DRV
WLDAP32.DLL
WS2_32.dll
WS2HELP.DLL
wshtcpip.dll
WSOCK32.dll
wxmsw26uh_gizmos_vc.dll
wxmsw26uh_stc_vc.dll
wxmsw26uh_vc.dll
I think your answer is obvious, looking at those files. Bittorrent is using wx 2.6 rather than 2.7 or 2.8.
Hope that solves your mystery.
OUCH.
… Thanks.