[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: