[IPython-dev] Twisted 8...

Gael Varoquaux gael.varoquaux at normalesup.org
Tue Apr 1 19:26:44 EDT 2008


On Tue, Apr 01, 2008 at 04:11:52PM -0700, Barry Wark wrote:
> Just to play devil's advocate, it's not our fault that linux distros
> lag behind in their packaged version of Twisted ;)

How old is the twisted 8.0 release? I have the feeling it is only a
couple of weeks old. In this case you can't call not packaging in a
stable release lagging behind, but simply normal procedure of validating
before shipping. Do you run mission-critical servers? Do you know what it
means to have a lab stopped from working if their is a flaw on the
packages you supported on one of your servers. I can tell you, it feels
very bad. So supporting leading edge is great when you are dealing with
your own box, and you are a devlopper happy to play around, but elsewhere
more conservative decisions can also make sense.

> On the more practical side, why not use Python's pacakge system (i.e.
> setuptools) to install Twisted (I'd guess that all linux distros that
> would include ipython would also have setuptools packages)?

Because it s not Python's package system. It is a hack to work around the
fact that Python has no package system. It induces a crazy amount of side
effect and misbehaviors. Don't get me wrong, I use setuptools a lot, and
appreciate the fonctionnality they add, but I can hardly see them as a
robust solution for packaging. It is funny you should mention them, AFAIK
until this (leading edge) release, twisted itself could not be installed
using setuptools.

I am not sure if you have followed, but currently setuptools are a
burning subject. IMHO Python packaging is a burning subject, and I am
tired of loosing a ridiculous amount of time to deal with different
version of libraries. I am afraid there is no good solution. Provide
several almost good solutions is a good idea, and setuptools do figure
amongst these, but I must admit I wouldn't force people to rely on
setuptools. I bites back.

> using a setuptools-compatible Twisted might allow the ipython1
> installer to install (maybe even precompiled) Twisted eggs if Twisted
> isn't present. Just a thought.

This kind of reasonning has brought setuptools to what it is currently:
something very problematic on secure and high-reliability servers. Indeed
you seem to be suggesting that the installer will be doing some magic to
download the requirements if they are not their. Think about it, this is
both a unacceptable security hole, and something that forbids any kind of
alternate packaging (for instance for automated deployement on a
cluster).

I am just trying to warn people that setuptools is a neat toy, but not a
solution for everybody. I use it a lot on my development boxes, but never
on my servers.

My 2 cents,

Gaël



More information about the IPython-dev mailing list