[Python-Dev] Integrate BeautifulSoup into stdlib?

David Cournapeau cournape at gmail.com
Tue Mar 24 15:00:11 CET 2009


On Tue, Mar 24, 2009 at 8:53 PM, Steve Holden <steve at 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


More information about the Python-Dev mailing list