После чистки моего 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/
До сих пор это хорошо работает и делает все, что это должно выполнить приблизительно в 900 секундах, давая мне в конце процесса, который полностью функциональный Python / Подвижный / и т.д.... устанавливает, даже не будучи должен выйти из системы и въехать задним ходом.
Я, хотя это могло бы быть полезным для других также, но существую несколько вещей, что я думаю, что это отсутствует, и я не совсем уверен, как пойти для него, что является лучшим способом сделать это, или если это просто не имеет никакого смысла вообще.
Править: Подразумеваемый вопрос: может кто-либо, более робкий, чем я, дать общие рекомендации по стоимости вышеупомянутых точек или выделить какие-либо проблемы, которые они видят с этим подходом? (см. мой ответ на комментарий Ry4an ниже),
Я не UNIX или Bash или эксперт по компилятору, и это было создано многократно, методом проб и ошибок. Это так или иначе идет к Кв. - добираются (хорошо, 1% из него...), но так как Dreamhost и другие, очевидно, не могут предоставить корневой доступ на общих серверах, это смотрит на меня как потенциально очень полезное обходное решение; особенно так с некоторым включенным общественно-полезным трудом.
Один из способов упростить это - заставить его работать с одним из: capistrano/fabric, puppet/chef, jhbuild, или buildout+minitage (и многими задачами cmmi). Есть некоторые возможности для учета общего кода, особенно с чем-то более высокоуровневым, чем bash. Однако вы столкнетесь с проблемами при загрузке, так что, возможно, лучше оставить все как есть.
Если вы хотите изучить пользовательские менеджеры пакетов, есть autopackage (хорошо загружается), nix (quickstart) и stow (простой, но помогает в изоляции).
Честно говоря, я бы просто создал пакеты с префиксом имени для всех частей и установил их в / opt
, чтобы они не мешали. Таким образом, потребуется только время загрузки и немного времени на установку.