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

J

John Nagle

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
 
R

Rick Johnson

   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
 
L

Lele Gaifax

John Nagle said:
"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.
 
J

John Nagle

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
 
A

Andrea Crotti

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).
 
M

Michael Torrie

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.
 
R

Raffaele Ricciardi

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.
 
L

Lele Gaifax

John Nagle said:
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 :)
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top