Mostrando postagens com marcador Software Livre. Mostrar todas as postagens
Mostrando postagens com marcador Software Livre. Mostrar todas as postagens

quarta-feira, 25 de julho de 2012

Problemas com Python Reportlab no Heroku

Este post ajuda a resolver um problema que pode parecer um "mistério", mas que pode ser reparado facilmente.

Estou trabalhando em um projeto web usando Django e escolhemos o Heroku para ser o ambiente de testes/homologação da aplicação. A escolha do Heroku deve-se a aspectos como plataforma poliglota, facilidade no deploy e escalabilidade.

Durante os testes na aplicação identificamos um erro na funcionalidade de geração de relatórios em pdf. A biblioteca mas usada para trabalhar com pdf em Python é Reportlab. É realmente robusta mas pode ser mostra trabalhosa para gerar conteúdos complexos.

Alguns dos nossos relatórios utilizam imagens. Sem problemas, pois o reportlab tem suporte a imagens de diversos formatos. Entretanto apresentava erro na criação do arquivo quando o deploy era feito no Heroku.

Erro: 'NoneType' object has no attribute 'Image'


Inicialmente verificamos que todas as dependências do projeto estavam satisfeitas e localmente ele funcionava bem. Ainda assim havia uma suspeita de que o Reportlab estivesse nos pregando uma peça.

Foi aí que pembrei que o  Reportlab utiliza a PIL internamente. Verifiquei o arquivo requirements.txt que lista as bibliotecas usadas no projeto a ser instaladas no Heroku, e não tinha a PIL instalada.

Instalei a PIL pelo pip no ambiente criado pelo virtualenv, atualizei o requirements.txt, fiz o deploy no Heroku e voilà!

Esse problema pode ocorrer em outros ambientes como Gondor.io.

Hasta la vista!

segunda-feira, 31 de dezembro de 2007

Início...

Hello World,

Este é o post de inauguração do meu blog. No começo, pensava que um blog seria algo de quem não tinha nada melhor a fazer. Mas, as circunstâncias mostraram-me o contrário...

Bem, antes de mais nada, deixe que eu me apresente. Meu nome é Mauro e sou fanático por computadores, um entusiasta da causa do Software Livre. Trabalho com a área de tecnologia há, aproximadamente, 10 anos sendo que destes, 5 são dedicados ao software livre.

A idéia de criar um blog veio da idéia de criar um site com conteúdo referente ao Software Livre. Com a dificuldade de conciliar todas as tarefas do dia, semana ou até mesmo do mês e a vontade de manter o site atualizado, essa idéia restringiu-se a uma idéia...

Com a evolução da Internet, o conteúdo informativo da rede passou a ser divulgado de diferentes formas, não sendo mais necessária a criação de um site propriamente dito para tal função. Soluções como Blogs, Wikis, Blikis, Podcasts, Fóruns entre outros, facilitaram a publicação e divulgação de conteúdos diversos.

Existem incontáveis sites, blogs, wikis e fóruns com conteúdo sobre software livre e não tenho a pretensão de concorrer com nenhum. O conteúdo desse blog é referente a discussões sobre aplicações baseadas em tecnologias open source, principalmente sobre a dupla Linux + Python. Não significa que não haverá conteúdo voltado a outras plataformas como Microsoft, mas não é uma regra que deva ter ou muito menos que não deva ter conteúdo direcionado a tais plataformas.

Não pretendo seguir uma regularidade fixa na publicação do conteúdo mas penso que consigo colocar algo quinzenalmente. Salvo em exceções que o artigo for sequencial, então mantenho a regularidade necessária para tornar o artigo completo.

Por enquanto não prometo nada como segundo post mas garanto que não será voltado a plataforma Microsoft... Hehe

[s]
Mauro Baraldi