Deploying/packaging Pylons projects
Dear list...
I'm currently trying to write a web application using the "Pylons"
(http://pylonshq.com) web framework. It's very different from the
Apache/cgi-bin/Perl approach I've been using for the last 10-15 years.
Pylons uses the Paste (http://pythonpaste.org) component as a web server
and to deploy web applications using Pylons. Paste creates an .egg from
it.
While the web site is very enthusiastic about the .egg format and how
comfortable "easy_install" is it feels like working completely the wrong
way compared to Debian packages. You can put an .egg file somewhere in
your $PYTHONPATH and it will be used without further installation. That
part sounds good. The automatic dependency satisfaction through
easy_install OTOH is surely evil on Debian. I don't want it to download a
Python module and install it into /usr/local/lib (or even
worse: /usr/lib). In the end I may have an easy_install installed module
in /usr/local and a properly installed Debian package in /usr. Welcome
chaos. Not even to mention that you can't even remove an egg properly.
Sounds like Windows middle ages where uninstalling software properly means
reinstalling the whole operating system.
Now what? I think that the general idea of creating an "egg" from a web
application is nice. You just give the egg to someone else and they don't
have to install anything manually. The egg will do that. On a Debian
system this is of course evil.
I can think of these ways to handle the situation:
- copy the egg into my personal home directory and expand $PYTHONPATH.
This might be enough to deploy a web application. But a global
administrator installation on a system might be even better.
- install the egg into /usr/local and take a lot of care not to get
anything else (dependant modules) installed there. Pythonic and
dangerous.
- use a distribution that doesn't know about packages anyway (Linux from
scratch) ;)
I remember that packaging eggs has been discussed already. And it appears
like there is no common sense solution yet. But can anyone comment on how
to handle these eggs properly? Or are such deployment mechanisms
completely useless on Debian? I already thought about some
magical "egg-buildpackage" script that creates a proper Debian package
from an egg so it can be deployed the Debian way.
Thanks,
Christoph
--
~
~
".signature" [Modified] 1 line --100%-- 1,48 All
Reply to: