[Python-Dev] Integrate BeautifulSoup into stdlib?

Steve Holden steve at holdenweb.com
Tue Mar 24 12:53:23 CET 2009


Martin v. Löwis wrote:
>> I do develop applications myself, and had only once in ten years
>> the desire to package everything in a stand-alone way, and then ended
>> up using freeze. I'm genuinely curious what the scenarios are where
>> people desire such packaging - I did hear the desire often, but never
>> fully explained.
>>
> 
> There is one case where I understand that desire: py2exe on Windows
> (which is similar to my own case, except that I wanted to support
> Solaris). It's the case where you produce an application to download
> by end users, and you don't want to bother end users with installing
> Python first.
> 
> However, I think that py2exe also solves this case sufficiently. One
> might debate whether freeze would be better, or whether it would be
> better to produce MSI instead of exe, but in essence, the result
> will be always the same. I don't think a cross-platform packaging
> solution can help here in any way.
> 
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?).

As far as Lunix distributions are concerned I'd be happy enough to rely
on the distributed Python, and let people who replace it suffer the
consequences and maintain their own Python packages as required. So I
suppose that we *could* take the interpreter as a given.

But I don't think that a "normal" Lunix user should ever have to involve
themselves directly with distutils or setuptools (it's OK to invoke them
from the installation routine, but not to require the user to unpack the
application then run setup.py). 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.

Mike Driscoll did some work providing Windows installers for various
Python packages and extension modules, and people were amused that he
provided executable installers for pure Python libraries. But I saw that
as a sensible decision, since it meant that Windows users (and even
Windows Python application developers) used the same mechanism to
install everything.

I don't claim to have all the answers, but distutils and setuptools are
for the savvy users - people who build distros and those who maintain
their own systems independent of their distribution's packaging
standard. As time goes by, however, and the Lunix installed base
continues to grow, the majority of users will expect to rely on the
standard installation mechanisms of their distribution, and that will
never be setuptools or distutils.

regards
 Steve
-- 
Steve Holden           +1 571 484 6266   +1 800 494 3119
Holden Web LLC                 http://www.holdenweb.com/
Want to know? Come to PyCon - soon! http://us.pycon.org/



More information about the Python-Dev mailing list