On Tue, Mar 24, 2009 at 8:53 PM, Steve Holden <st...@holdenweb.com> wrote:
> I'm not convinced we do need a cross-platform packaging solution, so I > may have explained my views badly. I regard application developers as > Python users, so I did not intend to suggest that the requirement for > stand-alone installation came from them. > > My main concern is that if Linux and Unix (Lunix) application > installation results, as is the case with setuptools, in the download > and/or installation of arbitrary support packages then we may end up > condemning Python app users to our own version of DLL hell (package > purgatory?). There already is a bit of a DLL hell in python. The whole idea to solve the dependency problems by installing multiple version of the same software is fundamentally flawed, it just does not work for general deployment on multiple machines. Many systems outside python, with more resource, have tried - and failed. By enabling a general, system-wide installation of multiple version of the same package, setuptools has made the situation worse. I am quite puzzled than many people don't realize this fundamental issue, it is a simple combinatory problem. If the problem is to get a recent enough version of the library, then the library would better be installed "locally", for the application. If it is too much a problem because the application depends on billions of libraries which are 6 months old, the problem is to allow such a dependency in the first place. What kind of nightmare would it be if programs developed in C would required a C library which is 6 months old ? That's exactly what multiple-versions installations inflict on us. That's great for testing, development. But for deployment on end-user machines, the whole thing is a failure IMO. > I am afraid that distutils, and > setuptools, are not really the answer to the problem, since while they > may (as intended) guarantee that Python applications can be installed > uniformly across different platforms they also more or less guarantee > that Python applications are installed differently from all other > applications on the platform. I think they should be part of the solution, in the sense that they should allow easier packaging for the different platforms (linux, windows, mac os x and so on). For now, they make things much harder than they should (difficult to follow the FHS, etc...). But otherwise, I agree. Python applications which care about non-savy users should be distributed as .dmg, .exe, .rpm, .deb. There will always be some work to do that correctly: there is no way to provide a general, automatic environment to build installers which provide a good experience on all platforms. AFAIK, It does not even exist in the commercial landscape, so I see little chance to see this in the python ecosystem. cheers, David _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com