Como instalar o Turbogears… Explicado! 29 de setembro de 2007
Instalar o TurboGears é uma tarefa muito simples, resume-se em uma linha, primeiro você vai no site do TurboGears http://www.turbogears.org/, baixa o arquivo “tgsetup.py” e aí é só executar
$ sudo python tgsetup.py
Pronto? Não exatamente! Neste período de incerteza sobre o desenvolvimento do TurboGears eu não gosto que manter minha versão no top, porque? Meus projetos são todos desenvolvidos usando o SQLObject e o TurboGears está caminhando para migrar seu ORM padrão para o SQLAlchemy, que é superior, mas que ainda está na versão 0.4! Enquanto o SQLObject, com toda a limitação técnica, já está na versão 1.0-final! Traduzindo… por uma questão que estabilidade e segurança no desenvolvimento, prefiro usar a vesão 1.0.2.2 do TurboGears, que é a última versão que testei e comprovei sua estabilidade. Então a solução seria:
$ sudo easy_install TurboGears==1.0.2.2
Errado novamente! Isso só garante que o TurboGears seja instalado na versão exata 1.0.2.2, mas todas as dependências como: Kid, Cheetah, PyProtocols, etc., são instalados nas suas últimas versões disponíveis, isso pode até ser bom, mas pode ocorrer que versões mais novas deste módulos podem gerar uma certa incompatibilidade com uma versão antiga do TurboGears, principalmente devido a DeprecatedWarnings. Então como fazer?
- O ideal é ter sempre o arquivo de todos os Eggs usados para instalar na época que a versão 1.0.2.2 era a atual e guardar esses Eggs junto do repositório do projeto que você está desenvolvendo, então quando você for atualizar a versão do TurboGears utilizada no projeto, atualizará também a versão dos Eggs no repositório para o atual, neste caso, quando precisar (re)instalar o projeto no seu cliente você já possuirá todos os Eggs de instalação disponíveis no seu repositório.PS: Lembre-se que o Egg é diferente para diferentes plataformas, caso possua clientes Windows e Linux mantenha versões separadas destes pacotes, o mesmo vale para clientes usando Python 2.4 e Python 2.5.2.
- Outra opção, para o caso de você não ter acesso ao conhecimento de quais pacotes eram atuais na época, é acessar a pasta “tags” do Subversion do Turbogears na versão que você deseja instalar e consultar o arquivo “setup.py” para ver quais são as dependências para a instalação do TurboGears, neste arquivo estará listado os pacotes requeridos com as versões mínimas para a instalação do TurboGears. Lembre-se que você poderá ter que consultar as “dependências das dependências” para conseguir uma lista completa dos módulos necessários, o Exemplo disso é que o TurboGears depende do TurboKid e o TurboKid depende do Kid, então terá que consultar o TurboKid para saber qual a versão mínima do Kid. Para este cenário mantenha as versões mínimas instaladas, atualizando apenas os módulos que apresentarem mudanças significativas de segurança ou que tenham funcionalidades desejadas.
- Eu já tive um certo trabalho de consolidar isso que mencionei no ponto 2, e neste arquivo irei colocar mastigado como instalar a versão 1.0.2.2 usando minha lista de dependências que considero estável, minha lista é:
- Cheetah-2.0rc8
- CherryPy-2.2.1
- ConfigObj-4.4.0
- DecoratorTools-1.4
- ElementTree-1.2.6_20050316
- FormEncode-0.7.1
- Kid-0.9.5
- Paste-1.3
- PasteDeploy-1.3
- PasteScript-1.3.4
- PyProtocols-1.0a0
- RuleDispatch-0.5a0.dev_r2306
- SimpleJson-1.7.1
- SqlObject-0.9.0b2
- TurboCheetah-0.9.5
- TurboJson-1.0
- TurboKid-1.0.1
- TurboGears-1.0.2.2
Agora como instalar esses pacotes? Usando o Cheeseshop encontrei uma grande dificuldade de achar pacotes antigos, imaginei que seria possível instalar usando o Setuptools com o comando “easy_install Cheetah==2.0rc8″, mas também sem sucesso, o jeito foi acessar o repositório Subversion de cada módulo e compilar o arquivo Egg apartir do código fonte
$ svn co http://+projeto_url_svn+/tags/+versão desejada+
$ python setup.py bdist_egg
Após ter construido todos os Eggs para sua plataforma crie uma pasta do seu Subversion e armazene conforme mencionei anteriormente no passo 1.
Agora sim, dentro da pasta contendo todos os módulos listados acima instale o TurboGears 1.0.2.2 usando o comando
$ sudo easy_install -f . TurboGears==1.0.2.2
O -f indica que o Setuptools não irá consultar a internet para buscar pacotes, se quiser se certificar tire o cabo da Internet.
Pronto, agora você terá a versão 1.0.2.2 do TurboGears estável instalada em seu computador.