At 04:42 PM 9/11/2010 +0200, Manlio Perillo wrote:
This is a problem with the installer, since stdout and stderr are fully buffered.
You probably need to pop up some sort of dialog and direct stdout/stderr there. Alternately, you could run easy_install in a separate process as a console script.
TODO ==== In case a dependency have extension code that must compiled, in 99% of the cases the post install script will fail, since the compiler or some library is not available. This should not happen; the post install script should, instead, check if in the package download_url there is a bdist_wininst executable, download it and execute it.
easy_install already does this, sort of: it downloads bdist_wininst executables and converts them into eggs, then installs the eggs.
Suggestions are welcome.
In general, I'm not sure that this sort of thing is wise to do in a bdist_wininst postinstall without some kind of user prompting, since:
1. A primary reason people have for using bdist_wininst installers is uninstall support, and this approach will leave dependencies behind.
2. Another big reason people have for using these installers instead of easy_install is that they don't want things being downloaded from the net, because e.g. they have no access or are behind a proxy, so this is just going to annoy them.
I would strongly recommend having some sort of dialog that simply tells the user what dependencies are missing, and then asks if they would like to have them installed automatically. (So the user can then say no if they need uninstallability or have limited network access.)
_______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
