On 18 Jun, 2009, at 10:45, Tarek Ziadé wrote:
On Thu, Jun 18, 2009 at 10:26 AM, David Lyon <firstname.lastname@example.org
Here's a package installation error message that's just plain scary for the average user.
imho Distutils should have checks to stock packages requiring a C compiler from being uploaded. It isn't "right" to expect that from users. ie They should get the .pyd files.
That's not distutils fault, neither easy_install one.
"appscript" should provide a binary distribution for Windows (it does for Mac OS if you look at the pypi repo) Since it doesn't, easy_install grabs the source distro, which is the best behavior I can think of, then tries to compile it.
I don't know why it or any other package "should" provide a binary distribution for Windows, having one would be nice but shouldn't be a hard requirement, ever.
This does point to an missing feature in distutils or setuptools though: neither distutils nor setuptools has a way to specify the supported platforms, at least not in a way that is actually used during installation. It would be nice if the appscript author could add some metadata to his setup.py file that would result in a clear error-message when you try to install it on a platform other than MacOSX.
The only way to achieve that at the moment is to add some code to setup.py that explicitly raises an exception when you try to build it on an unsupported platform.
The same is true for the python version, pyobjc currently explicitly tests for python >= 2.3,<3.0 because other versions aren't supported and cause compile errors (at best, IIRC it will compile with python 2.2 but cause interpreter crashes when you try to use it).