Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #19099 > unrolled thread

Please don't use "setuptools", the "rotten .egg" install system.

Started byJohn Nagle <nagle@animats.com>
First post2012-01-18 10:24 -0800
Last post2012-01-21 00:50 +0000
Articles 8 — 6 participants

Back to article view | Back to comp.lang.python


Contents

  Please don't use "setuptools", the "rotten .egg" install system. John Nagle <nagle@animats.com> - 2012-01-18 10:24 -0800
    Re: Please don't use "setuptools", the "rotten .egg" install system. Rick Johnson <rantingrickjohnson@gmail.com> - 2012-01-18 12:26 -0800
    Re: Please don't use "setuptools", the "rotten .egg" install system. Lele Gaifax <lele@metapensiero.it> - 2012-01-19 09:56 +0100
      Re: Please don't use "setuptools", the "rotten .egg" install system. John Nagle <nagle@animats.com> - 2012-01-19 09:05 -0800
        Re: Please don't use "setuptools", the "rotten .egg" install system. Andrea Crotti <andrea.crotti.0@gmail.com> - 2012-01-19 17:21 +0000
        Re: Please don't use "setuptools", the "rotten .egg" install system. Michael Torrie <torriem@gmail.com> - 2012-01-20 09:20 -0700
        Re: Please don't use "setuptools", the "rotten .egg" install system. Lele Gaifax <lele@metapensiero.it> - 2012-01-22 10:38 +0100
    Re: Please don't use "setuptools", the "rotten .egg" install system. Raffaele Ricciardi <rfflrccrd@gmail.com> - 2012-01-21 00:50 +0000

#19099 — Please don't use "setuptools", the "rotten .egg" install system.

FromJohn Nagle <nagle@animats.com>
Date2012-01-18 10:24 -0800
SubjectPlease don't use "setuptools", the "rotten .egg" install system.
Message-ID<4f170e46$0$1659$742ec2ed@news.sonic.net>
   Please don't use "setuptools", the so-called "easy"
installation system in your packages.  It just makes things
more complicated, adds dependencies, and needs too many weird
options if things aren't exactly where it wants them.  Since
"setuptools" is non-standard, it has to be installed before
installing other things.

In particular, if you're using

	somepython setup.py install

don't require setuptools.  Setuptools isn't doing anything
for anybody at that point.

"egg" files are usually more trouble than they're worth.

				John Nagle

[toc] | [next] | [standalone]


#19103

FromRick Johnson <rantingrickjohnson@gmail.com>
Date2012-01-18 12:26 -0800
Message-ID<395a9e16-6dd3-4738-9f2a-9a7c356da383@34g2000yqm.googlegroups.com>
In reply to#19099
On Jan 18, 12:24 pm, John Nagle <na...@animats.com> wrote:
>    Please don't use "setuptools", the so-called "easy"
> installation system in your packages.  It just makes things
> more complicated, adds dependencies, and needs too many weird
> options if things aren't exactly where it wants them.  Since
> "setuptools" is non-standard, it has to be installed before
> installing other things.
>
> In particular, if you're using
>
>         somepython setup.py install
>
> don't require setuptools.  Setuptools isn't doing anything
> for anybody at that point.
>
> "egg" files are usually more trouble than they're worth.

BIG PLUS ONE ON THIS!
+1

[toc] | [prev] | [next] | [standalone]


#19117

FromLele Gaifax <lele@metapensiero.it>
Date2012-01-19 09:56 +0100
Message-ID<mailman.4855.1326964340.27778.python-list@python.org>
In reply to#19099
John Nagle <nagle@animats.com> writes:

> "egg" files are usually more trouble than they're worth.

I find it really funny you say so, just after another thread where you
proved yourself unable to come up with a working Python environment
lacking an already packaged RPM of version 2.7...

I know "egg" are not standard, but these days are still the only way to
install Python-related stuff that includes precompiled stuff, be it a
Python module implemented in C, or a Pyjamas application, or simply
.mo files containing gettext translations... *without* forcing the
recipient to install all the needed "compiler chains".

I really hope the distribute2 toolset will provide such nice capability.

ciao, lele.
--
nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia.
lele@metapensiero.it  |                 -- Fortunato Depero, 1929.

[toc] | [prev] | [next] | [standalone]


#19131

FromJohn Nagle <nagle@animats.com>
Date2012-01-19 09:05 -0800
Message-ID<4f184d54$0$1714$742ec2ed@news.sonic.net>
In reply to#19117
On 1/19/2012 12:56 AM, Lele Gaifax wrote:
> John Nagle<nagle@animats.com>  writes:
>
>> "egg" files are usually more trouble than they're worth.
>
> I find it really funny you say so, just after another thread where you
> proved yourself unable to come up with a working Python environment
> lacking an already packaged RPM of version 2.7...

     I can do it, I just have better things to do than system
administration.  The fact that Python doesn't "just work" is
part of why it's losing market share.

> I know "egg" are not standard, but these days are still the only way to
> install Python-related stuff that includes precompiled stuff, be it a
> Python module implemented in C, or a Pyjamas application, or simply
> .mo files containing gettext translations... *without* forcing the
> recipient to install all the needed "compiler chains".
>
> I really hope the distribute2 toolset will provide such nice capability.
>
> ciao, lele.

     If it can be built with "python setup.py build", go that way.
A "setup.py" script, invoked with the correct Python, reliably
knows which Python it is supposed to update.  "egg" files
usually have trouble with that.

     Prebuilt systems should use the installer for the distro, and
work with yum, apt-get, or the Windows installer as appropriate.

     It does seem to be necessary to install the development tools
on a Linux system just to get various Python packages to install.
Major packages are still all over the place.
PyPy is just a directory of links, not a repository like CPAN.

     Python sort of slips through the cracks.  Nobody is doing
the work to make PyPy handle these problems, and Python isn't
important enough for MySQL, etc. to support the connector for
the language.  (They support Perl, C, Java, etc., but not
Python.)

				John Nagle

[toc] | [prev] | [next] | [standalone]


#19133

FromAndrea Crotti <andrea.crotti.0@gmail.com>
Date2012-01-19 17:21 +0000
Message-ID<mailman.4867.1326993718.27778.python-list@python.org>
In reply to#19131
On 01/19/2012 05:05 PM, John Nagle wrote:
>     I can do it, I just have better things to do than system
> administration.  The fact that Python doesn't "just work" is
> part of why it's losing market share.
>
Maybe in your home is losing market (if you're so sure post some sources).

>     If it can be built with "python setup.py build", go that way.
> A "setup.py" script, invoked with the correct Python, reliably
> knows which Python it is supposed to update.  "egg" files
> usually have trouble with that.
>
>     Prebuilt systems should use the installer for the distro, and
> work with yum, apt-get, or the Windows installer as appropriate.
>
>     It does seem to be necessary to install the development tools
> on a Linux system just to get various Python packages to install.
> Major packages are still all over the place.
> PyPy is just a directory of links, not a repository like CPAN.
>
>     Python sort of slips through the cracks.  Nobody is doing
> the work to make PyPy handle these problems, and Python isn't
> important enough for MySQL, etc. to support the connector for
> the language.  (They support Perl, C, Java, etc., but not
> Python.)
>
>                 John Nagle

An egg includes a python and OS version actually, and you're perfectly
free to use your favourite distro-installer system.

Someone cares if MySQL doesn't officially support Python when
there are already perfectly working connectors?

Most hardware vendors don't support Linux and Linux drivers often
work way better than the Windows-equivalent (just to make an example).

[toc] | [prev] | [next] | [standalone]


#19153

FromMichael Torrie <torriem@gmail.com>
Date2012-01-20 09:20 -0700
Message-ID<mailman.4885.1327076420.27778.python-list@python.org>
In reply to#19131
On 01/19/2012 10:05 AM, John Nagle wrote:
>      I can do it, I just have better things to do than system
> administration.  The fact that Python doesn't "just work" is
> part of why it's losing market share.

Yes you keep saying that.  Of course you are complaining on the wrong
list.  You should be bugging Red Hat about the Python 2.7 thing (after
all you pay them for support, right?).  Whining about it here is just silly.

>      Python sort of slips through the cracks.  Nobody is doing
> the work to make PyPy handle these problems, and Python isn't
> important enough for MySQL, etc. to support the connector for
> the language.  (They support Perl, C, Java, etc., but not
> Python.)

Supporting C is all they need to do in this case.  Python works just
fine with C libraries.  I have used python with MySQL a fair amount in
my previous job.  The DB-API interface worked quite well and I found
PostgreSQL and MySQL drivers that worked quite nicely.  I'm not sure
what you think is missing.  Maybe you are whining about Python not
shipping with the MySQL connector directly.  Again, though this is a
problem best solved at the distribution level as Python cannot possibly
ship binary MySQL libraries for every variation of OS and MySQL client
library version.

I know the propensity of people on this list is to support and defend
Python from any criticism, but in this case such defense seems justified.

[toc] | [prev] | [next] | [standalone]


#19208

FromLele Gaifax <lele@metapensiero.it>
Date2012-01-22 10:38 +0100
Message-ID<mailman.4922.1327225130.27778.python-list@python.org>
In reply to#19131
John Nagle <nagle@animats.com> writes:

> On 1/19/2012 12:56 AM, Lele Gaifax wrote:
>> John Nagle<nagle@animats.com>  writes:
>>
>>> "egg" files are usually more trouble than they're worth.
>>
>> I find it really funny you say so, just after another thread where you
>> proved yourself unable to come up with a working Python environment
>> lacking an already packaged RPM of version 2.7...
>
>     I can do it, I just have better things to do than system
> administration.  The fact that Python doesn't "just work" is
> part of why it's losing market share.

Hopefully whining and asserting doubtful things here are not "the [only]
better things" you have to do :-)

>> I know "egg" are not standard, but these days are still the only way to
>> install Python-related stuff that includes precompiled stuff
>
> If it can be built with "python setup.py build", go that way.

I wasn't able to make the point clear: imagine you wrote one beatiful
web widget built in Flash, what would you prefer, distribute just that
widget with your Python module that uses it, or forcing the recipient to
have a Flash compiler on its own and compile it every time you install
the package? If the latter, why are you running on RH instead of (say)
Gentoo??


> A "setup.py" script, invoked with the correct Python, reliably
> knows which Python it is supposed to update.  "egg" files
> usually have trouble with that.

Never had that problem, but please, define "usually" and "trouble".

> Prebuilt systems should use the installer for the distro, and work
> with yum, apt-get, or the Windows installer as appropriate.

Why should I, when one format fits 'em all? I'm not against
"proprietary" mechanism, but I surely see the benefit of an easier way
of deploying my custom packages.

> It does seem to be necessary to install the development tools
> on a Linux system just to get various Python packages to install.
> Major packages are still all over the place.
> PyPy is just a directory of links, not a repository like CPAN.

You surely meant PyPI there... but even then, I cannot see the
point. It's evidently easy enough pushing there yet-another-link
pointing to a prebuilt egg...

> Python sort of slips through the cracks.  Nobody is doing
> the work to make PyPy handle these problems, and Python isn't
> important enough for MySQL, etc. to support the connector for
> the language.  (They support Perl, C, Java, etc., but not
> Python.)

Yet another OT argument but... hopefully nobody is forcing you to stay
on the losing side of the market :-)

Anyway, to me MySQL isn't important enough for Python, there are way
better DB engines out there to invest my time with.

ciao, lele.
-- 
nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia.
lele@metapensiero.it  |                 -- Fortunato Depero, 1929.

[toc] | [prev] | [next] | [standalone]


#19178

FromRaffaele Ricciardi <rfflrccrd@gmail.com>
Date2012-01-21 00:50 +0000
Message-ID<9nugavFr37U1@mid.individual.net>
In reply to#19099
In order to build and run Mercurial on Linux, I needed Python with 
docutils.

I've just installed Python from source and later setuptools. As a 
non-Pythonista, my impression has been that the procedure of installing 
setuptools and then using them is quite straightforward, but it's not 
advertised enough to newcomers.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web