在Dreamhost上安装和编译Python,Django,Virtualenv,Mercurial,Git,LessCSS等的脚本

tms*_*lnz 6 python git mercurial install dreamhost

故事

在清理了我的Dreamhost共享服务器的主文件夹之后,我决定重新开始并编译/重新安装Python.我发现的所有教程和片段似乎都过于简单化,假设(或忽略)Python需要的一堆依赖项来正确编译所有模块.所以,从http://andrew.io/weblog/2010/02/installing-python-2-6-virtualenv-and-virtualenvwrapper-on-dreamhost/开始(到目前为止我发现的最佳指南),我决定写一个设置 - 忘记Bash脚本,以自动化这个痛苦的过程,包括我计划使用的一堆其他东西.

剧本

我在http://bitbucket.org/tmslnz/python-dreamhost-batch/src/上托管该脚本

TODO

到目前为止,它运行良好,并且在大约900秒内完成所有需要的工作,在流程结束时为我提供了功能齐全的Python/Mercurial/etc ...设置,甚至无需注销和重新登录.

我虽然这也可能对其他人有用,但有一些我认为它缺失的东西,我不太确定如何去做,最好的方法是什么,或者如果这不做任何意义上的.

  • 检查错误并中断
  • 检查包的次要版本颠簸并发出警告
  • 检查已知的依赖项
  • 使用参数只安装一些软件包而不是注释掉行
  • 以易于更新的方式组织代码
  • (可选)使安装程序和编译静默,并将错误记录到文件
  • failproof .bashrc修改以防止破坏ssh登录并且必须通过FTP回来修复它

编辑:隐含的问题是:任何人,比我更害羞,能否就上述观点的价值提供一般性建议,或突出他们用这种方法看到的任何问题?(参见下面我对Ry4an评论的回答)

要旨

我不是UNIX或Bash或编译器专家,这是通过反复试验迭代构建的.它以某种方式走向apt-get(好吧,1%......),但由于Dreamhost和其他人显然无法在共享服务器上提供root访问权限,因此这对我来说就像是一个非常有用的解决方法; 特别是涉及一些社区工作.

Tob*_*obu 2

简化此操作的一种方法是使其与以下之一一起工作:capistrano/fabric、puppet/chef、jhbuild 或 buildout+minitage(以及许多 cmmi 任务)。有一些机会可以考虑通用代码,尤其是比 bash 更高级的代码。然而,你会遇到引导问题,所以也许足够好就不用管了。

如果你想研究用户态包管理器,有 autopackage(引导程序很好)、nix快速启动)和stow(简单但有助于隔离)。