There has been some confusion about distutils, especially the bdist_wininst command. I hope I can clarify these things with this post. 1. The current Distutils version 1.0, which is also included in the Python 2.0 release candidate is perfectly usable apart from one bug: You should create windows installers (by running 'setup.py bdist_wininst' or 'setup.py bdist --formats=wininst') ONLY with an external zip utility (info-zip would do). Using the zipfile module results in corrupted installations (all files are created with zero length). Details about the cause for this can be found in the patch I posted to SF. 2. I submitted a patch to SF http://sourceforge.net/patch/?func=detailpatch&patch_id=101844&group_id=5470 which corrects this bug. Normally I would have checked this code in immediately, because it is in _my_ code, and that's what my checkin rights are for ;-). I did not because I did not want to interfere with the release process of python 2.0 rc 1. 3. How does bdist_wininst work? bdist_wininst creates a self-extracting zipfile from two components: a stub program (wininst.exe) plus a zip-file containing the code to be distributed. Because I did not liked wininst.exe as binary file checked in into CVS, the actual bytes of this exe are included base64-encoded in the bdist_wininst.py module as string. I'm not sure whether this is a wise design or not, but that is a different topic. The downside of this design is that when the source to wininst.exe changes, it must be recompiled, and bdist_wininst.py must be regenerated. The context-diffs for bdist_wininst.py are so very large. 4. To understand the patch, you should know the following: Distutils is a separate toplevel module in the repository on sourceforge. Parts of this repository are symbolically linked somewhere into the python tree. Thus, this patch must be applied to the distutils _module_ in the repository. Distutils directory structure is as follows: distutils dd distutils command doc dist inst examples sample1 sample2 sample3 misc test text Relevant part of python directory structure: python dist src Lib distutils command The source code for wininst.exe is in CVS in the distutils/misc directory. The patch I posted to SF does not include the compiled wininst.exe, neither does it include the (regenerated) bdist_wininst.py module. 5. If nobody objects, I will check in the changes I made tomorrow, recompile the exe, regenerate the bdist_wininst.py, and everything should be fine again. Greg will then hopefully, when he is back, increase the distutils version number to 1.0.1 (or whatever) and this version will then be delivered with python 2.0 final. Sorry for the confusion. Cheers, Thomas
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4