Dmitry S. Makovey schrieb:
Scott Sharkey wrote:
Any insight into the best way to have a consistent, repeatable,
controllable development and production environment would be much
appreciated.
you have just described OS package building ;)
I can't speak for everybody, but supporting multiple platforms (PHP, Perl,
Python, Java) we found that the only way to stay consistent is to use OS
native packaging tools (in your case apt and .deb ) and if you're missing
something - roll your own package. After a while you accumulate plenty of
templates to chose from when you need yet-another-library not available
upstream in your preferred package format. Remember that some python tools
might depend on non-python packages, so the only way to make sure all that
is consistent across environment - use unified package management.
That this is a desirable goal can't be argued against. Yet two big
hurdles make it often impractical to be dogmatic about that:
- different OS. I for one don't know about a package management tool
for windows. And while our servers use Linux (and I as developer as
well), all the rest of our people use windows. No use telling them to
apt-get instal python-imaging.
- keeping track of recent developments. In the Python webframework
world for example (which the OP seems to be working with), things move
fast. Or extremly slow, regarding releases. Take Django - until 2 month
ago, there hasn't been a stable release for *years*. Virtually everybody
was working with trunk. And given the rather strict packaging policies
of debian and consorts, you'd be cut off of recent developments as well
as of bugfixes.
Diez
--
http://mail.python.org/mailman/listinfo/python-list