[Distutils] Distutils changes - end user requirements (Was: Deprecate MANIFEST.in)

Tres Seaver tseaver at palladion.com
Thu Apr 9 22:02:39 CEST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Paul Moore wrote:
> 2009/4/9 Tres Seaver <tseaver at palladion.com>:
>> Is there a technical reason why Windows users cannot build the
>> installers themselves from "pure Python" sdists?  I would rather
>> distribute *no* binaries at all, myself, especially if "self-help"
>> works.  Stuff which requires a compiler is obviously a barrier for many
>> Windows users:  such packages normally need a Windows-savvy contributor
>> to do the installer build, which often lags the 'sdist' release by a
>> noticeable period.
> 
> No technical reason, no. It's as simple as "python setup.py
> bdist_wininst" or "python setup.py mdist_msi". Personally, I'm happy
> doing that for any pure python package that doesn't provide an
> installer.
> 
> The only downside is that not all packages document whether they are
> pure Python. It can be frustrating to download a package, unpack it,
> and try to build it only to find out that it has C code that won't
> build. Or even more subtle, it builds fine, but ignores important
> speedup code written in C...
> 
> But the main reason is social - Windows users expect to download
> installers, and have a low tolerance for projects that don't provide
> such. And a low tolerance for anything involving a command line, in
> many cases. Call us bone idle if you must, but it's a fact you need to
> deal with in considering a Windows audience.

*Shrug*.  I mostly don't care about donating extra effort to help users
who refuse to help themselves, or to contribute to the product. *That*
isn't going to change, either.  I've been willing to make exceptoins in
the past for "crucial" packages with C extensions, but anything that
requires booting to Windows is mostly not going to happen.

> However, it's equally true (I believe) that "python setup.py
> bdist_wininst" works fine on a Linux box. So it's not as if building
> Windows installers is a huge chore for developers, either. (I accept
> that there are other tasks, like distribution). It's a trade-off of
> developer time vs user time (and I fully accept that this trade-off
> comes out differently in an open source/volunteer environment).

I don't think that works:

$ ../../bin/python setup.py bdist_wininst
running bdist_wininst
running build
installing to build/bdist.linux-i686/wininst
running install_egg_info
running egg_info
writing pkginfo.egg-info/PKG-INFO
writing top-level names to pkginfo.egg-info/top_level.txt
writing dependency_links to pkginfo.egg-info/dependency_links.txt
reading manifest file 'pkginfo.egg-info/SOURCES.txt'
writing manifest file 'pkginfo.egg-info/SOURCES.txt'
Copying pkginfo.egg-info to
build/bdist.linux-i686/wininst/PURELIB/pkginfo-0.1-py2.6.egg-info
running install_scripts
creating '/tmp/tmpJ5kgq8.zip' and adding '.' to it
adding 'PURELIB/pkginfo-0.1-py2.6.egg-info/dependency_links.txt'
adding 'PURELIB/pkginfo-0.1-py2.6.egg-info/SOURCES.txt'
adding 'PURELIB/pkginfo-0.1-py2.6.egg-info/top_level.txt'
adding 'PURELIB/pkginfo-0.1-py2.6.egg-info/PKG-INFO'
creating dist
Warning: Can't read registry to find the necessary compiler setting
Make sure that Python modules _winreg, win32api or win32con are installed.
error:
/home/tseaver/projects/Zope-CVS/lib/python2.6/distutils/command/wininst-6.0ux-i686.exe:
No such file or directory

Note that this package is pure python.


Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJ3lRf+gerLs4ltQ4RAjwkAJ4kSb++3dwISpZWoFTWy3ymPfHdMACeMZ42
BzuguG6IxSvFV4Q8Lvh8I98=
=dbEz
-----END PGP SIGNATURE-----



More information about the Distutils-SIG mailing list