Script to install and compile Python, Django, Virtualenv, Mercurial, Git, LessCSS, etc... on Dreamho

Posted by tmslnz on Stack Overflow See other posts from Stack Overflow or by tmslnz
Published on 2010-05-26T14:35:47Z Indexed on 2010/05/26 23:31 UTC
Read the original article Hit count: 270

Filed under:
|
|
|
|

The Story

After cleaning up my Dreamhost shared server's home folder from all the cruft accumulated over time, I decided to start afresh and compile/reinstall Python. All tutorials and snippets I found seemed overly simplistic, assuming (or ignoring) a bunch of dependencies needed by Python to compile all modules correctly. So, starting from http://andrew.io/weblog/2010/02/installing-python-2-6-virtualenv-and-virtualenvwrapper-on-dreamhost/ (so far the best guide I found), I decided to write a set-and-forget Bash script to automate this painful process, including along the way a bunch of other things I am planning to use.


The Script

I am hosting the script on http://bitbucket.org/tmslnz/python-dreamhost-batch/src/


The TODOs

So far it runs fine, and does all it needs to do in about 900 seconds, giving me at the end of the process a fully functional Python / Mercurial / etc... setup without even needing to log out and back in.

I though this might be of use for others too, but there are a few things that I think it's missing and I am not quite sure how to go for it, what's the best way to do it, or if this just doesn't make any sense at all.

  • Check for errors and break
  • Check for minor version bumps of the packages and give warnings
  • Check for known dependencies
  • Use arguments to install only some of the packages instead of commenting out lines
  • Organise the code in a manner that's easy to update
  • Optionally make the installers and compiling silent, with error logging to file
  • failproof .bashrc modification to prevent breaking ssh logins and having to log back via FTP to fix it

EDIT: The implied question is: can anyone, more bashful than me, offer general advice on the worthiness of the above points or highlight any problems they see with this approach? (see my answer to Ry4an's comment below)


The Gist

I am no UNIX or Bash or compiler expert, and this has been built iteratively, by trial and error. It is somehow going towards apt-get (well, 1% of it...), but since Dreamhost and others obviously cannot give root access on shared servers, this looks to me like a potentially very useful workaround; particularly so with some community work involved.

© Stack Overflow or respective owner

Related posts about python

Related posts about git