Utilizando MacPorts para desenvolvimento web com Python

Filed Under (Desenvolvimento) by Samir on 09-11-2009

Tagged Under : ,

Semana passada resolvi formatar meu Mac pois estava muito desorganizado minhas instalações de pacotes e tive uma série de dificuldades para instalar módulos no Apache como o mod_wsgi ou mod_python, ambos compilam mas necessitam de uma certa gambiarra no arquivo Makefile para se adequar na arquitetura do Mac, mas pra minha sorte o Apache não reconhecia os módulos de jeito nenhum.

Como iria formatar e reinstalar tudo do zero, resolvi procurar por opções como Homebrew, Fink (me parece desatualizado) e o próprio Macports.

Uma das vantagens que vejo no macports é a centralização da bibliotecas que ficam localizadas somente em um lugar e é fácil instalar ou remover algum pacote.

Antes de começar, o Mac Leopard já vem com uma versão instalada do Python (2.5.1), não precisa remover essa instalação, iremos configurar após a instalação via macports. Sendo assim, vou considerar caso você tenha um Mac :-) , tenha instalado a última versão do MacPorts que é a 1.8.1 no momento.

Instalando Python 2.6:

sudo port install python26

Essa instalação vai levar alguns minutos, pois muitos ports serão instalados. Agora muita atenção após o final da instalação, vai exibir uma mensagem informando que você  precisa instalar o “python_select” para selecionar a versão 2.6 como default do Mac.

Ativando o Python:

sudo port install python_select
sudo python_select python26

Se tudo ocorreu bem, abra o console e digite “python”, o resultado deve ser:

[samirmamude] ~
$ python
Python 2.6.4 (r264:75706, Nov  6 2009, 14:11:23)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Instalando o Django (1.1.1) e o driver para Postgresql (no meu caso):

port install py26-django
port install py26-psycopg2

Instalando o Postgresql 8.4:

sudo port install postgresql84
sudo port install postgresql84-server

Após finalizar a instalação, rode este comando para o servidor inicializar automaticamente.

sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql84-server.plist

Por padrão o Mac também possui uma instalação do Apache, mas vamos instalar via macports e ativa-lo em seguida.

sudo port install apache2
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

Agora a instalação que me causou muitos transtornos foi o mod_wsgi, no macports a instalação funciona perfeitamente e o Apache reconhece o módulo sem problemas.

sudo port install mod_wsgi

Veja as instruções na documentação do Apache para ativar esse módulo e logo após reinicie o servidor.

Pra terminar se quiser instale também o MacVim.

sudo port install mac_vim

Uma dica para facilitar quais ports você tem instalado é instalar esse programinha interessante o Porticus.

Isso foi apenas o básico, existem outros ports interessantes que também pode ser instalados como o Memcached, Ngnix e outros, de uma olhada nos ports disponíveis.

É isso ai :-)