[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