Instalando e configurando gevent no MAC OS X

Para instalar precisa ter o macport instalado execute o comando abaixo:

sudo port install libevent
CFLAGS="-I /opt/local/include -L /opt/local/lib" pip install gevent

Adicione a linha no INSTALLED_APPS no arquivo settings.py do seu projeto

1
2
3
4
5
6
 
INSTALLED_APPS = (
    ...
    'gevent',
    ...
)

Tags: ,

Filed under:Developer, Django, Mac, Python, Todos

Criando partição em um Linux para acessar uma pasta no OS X Server

Criando partição em um Linux para acessar uma pasta em outro Linux

cd /media
sudo mkdir dados
sudo mount -t smbfs -o username=usuario,password=senha //192.168.0.1/dados /media/dados

Criando partição em um Linux para acessar uma pasta no OS X Server

cd /media
sudo mkdir dados
sudo mount.cifs //192.168.0.1/Dados /media/dados -o username=usuario,password=senha,sec=ntlmssp,nounix

Dica de Higor Rossato

Tags: , , , ,

Filed under:Linux, Todos

Desenvolvendo para Firefox OS

Introdução

Firefox OS é novo sistema operacional movel desenvolvido da Mozilla. Para nós desenvolvedores web ficou fácil criar aplicativos para aparelhos mobile, pois para desenvolver é utilizado apenas HTML5, CSS e JAVASCRIPT.

Para testar seus aplicativos não precisa ter um smartphone com Firefox OS, basta baixar a extensão (Firefox OS Simulator) no Firefox disponivel em Windows, Linux e MAC OS X.

Colocando em pratica

Primeiro passo é instalar a extensão Firefox OS Simulator em seu Firefox.

Firefox OS Simulator – links para Download

Iniciando Firefox OS Simulator

Para abrir o Firefox OS Simulator procure a aba Ferramentas > Desenvolvedor web > Firefox OS Simulator. Uma aba sera aberta com as informações do Firefox OS Simulator. Nesta aba você pode desligar e ligar o emulador e nela também é adicionado os aplicativos que serão instalados no emulador assim que iniciado. Para adicionar seus aplicativos pasta clicar em Add diretory e localizar a pasta em que você desenvolveu seu aplicativo.

Criando uma aplicação para Firefox OS

Para iniciar, crie uma pasta do seu projeto onde ficaram os arquivos da sua aplicação. No meu caso willemallan. Dentro do diretório crie um arquivo manifest.webapp neste arquivo ficam as configurações do projeto, como: nome, autor, versão, icones e outros dados importantes do aplicativo. Veja abaixo o exemplo do arquivo manifest.webapp.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "version": "0.1",
    "name": "Willem Allan",
    "description": "Willem Allan - Blog posts",
    "launch_path": "/index.html",
    "icons": {
        "16": "/imgs/icons/wi16.png",
        "48": "/imgs/icons/wi48.png",
        "128": "/imgs/icons/wi128.png"
    },
    "developer": {
        "name": "Willem Allan",
        "url": "http://willemallan.com.br"
    },
    "installs_allowed_from": ["*"],
    "locales": {
        "es": {
            "description": "Willem Allan - Blog posts",
            "developer": {
                "url": "http://willemallan.com.br"
            }
        },
        "it": {
            "description": "Willem Allan - Blog posts",
            "developer": {
                "url": "http://willemallan.com.br"
            }
        }
    },
    "default_locale": "en"
}

Analisando o código acima, pode ser visualizado que possuem locais para definir a versão do plicativo, nome e descrição. Logo após, repare que launch_path aponta para /index.html, que é o primeiro arquivo que irá ser carregado quando o aplicativo for iniciado. Pode ser defino também os icones em diversos tamanhos em icons. Por ultimo temos opções para os dados do desenvolvedor que também pode ser definido em outros idiomas.

Mão na massa

Para iniciar crie um diretório da sua aplicação e em seguida crie um arquivo index.html e utilize o arquivo citado acima manifest.webapp alterando as configurações do seu projeto.

Então ficará assim uma pasta nome_projeto e dentro os arquivos index.html e manifest.webapp.

Adicione um texto qualquer no arquivo index.html, pode ser o famoso hello world!!!

1
2
3
4
5
6
7
8
<html>
<head>
    <title>Primeira aplicação Firefox OS</title>
</head>
<body>
    <h1>hello world!!! Primeira aplicação Firefox OS</h1>
</body>
</html>

Para testar a aplicação é preciso ir na extensão do Firefox OS Simulator, Bashboard e adicionar a basta do projeto “add directory”, depois inicie o emulador a aplicação será instalada e aparecerá nos aplicativos.

  • github – exemplo de aplicação do Firefox OS: link
  • github page – link

Saiba mais

  • Firefox OS Quick Start – link
  • Desenvolva para Firefox OS sem um smartphone – link
  • Aplicativos de exemplo – link
  • Disponibilizando um aplicativo no Mozilla Marketplace – link

Tags: ,

Filed under:Developer, Todos

Configurando MAC OS X para trabalhar com django/python

Site passo a passo para configurar seu Mac OS X.

1. apple – baixar e instalar command line tools

Link

2. baixar e instalar o macport

baixe o arquivo – Mac OS X Package (.pkg) Installer
link

(instalação é bem fácil, igual windows next, next, e finish)

3. instalando homebrew

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

4. baixar o pip extrair e entrar na pasta do pip

baixar

tar xzvf pip-1.3.1.tar.gz
cd pip-1.3.1
sudo python setup.py install

5. Instalando e configurando o Virtualenv e Virtualenvwrapper

sudo pip install virtualenv
sudo pip install virtualenvwrapper

5.1 editar o .profile ou .bash_profile – adicionar as duas linhas

export WORKON_HOME=~/envs
source /usr/local/bin/virtualenvwrapper.sh

6. Instalando mercurial pelo macport

sudo port install mercurial

7. Instalando o mysql pelo homebrew

sudo brew install mysql

Espero ter ajudado abs ;)

Tags: , , , , , , ,

Filed under:Django, Mac, MySQL, Python, Todos

Compilando o kernel 3.8.4 do Ubuntu 12.10




Compilando e instalando o kernel 3.8.4 no ubuntu 12.10.

Pacotes necessários

sudo apt-get install build-essential libncurses5-dev

(Copiar o arquivo pretendido de www.kernel.org) exemplo utilizado 3.8.4

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.4.tar.xz
tar -jxvf linux-3.8.4.tar.xz
cd linux-3.8.4

copie o arquivo de configuração do seu kernel para a pasta do futuro kernel

cp /boot/config-3.5.0-17-generic .config
ls -lia (verifique a data/hora do arquivo .config)

este comando – lista todos os pacotes que viram no seu kernel, muito cuidado ao desmarcar algo que podera acontecer o famoso kernel panic

make menuconfig

proximo passo é compilar o kernel e depois instalar, este passo demora mais de 30min

sudo make
sudo make modules
sudo make modules_install
sudo make install

entre na pasta e execute o comando para gerar entrada para novo kernel

cd /boot
sudo mkinitramfs -o initrd.img-3.8.4 3.8.4

agora atualiza seu grub

update-grub

reinicie

reboot

quando ligar deve estar no novo kernel se tudo ocorrer bem, este comando mostra a versão do kernel

uname -a

abs

Tags: , , , ,

Configurando Ubuntu Server – Django + nginx + gunicorn + supervisor + git

Siga passo a passo para criar um servidor rodando projetos django.

INSTALAÇÃO DOS PACOTES

Atualizando servidor

sudo apt-get update
sudo apt-get upgrade

Pacote de binários

sudo apt-get install build-essential

Instalando os pacotes

sudo apt-get install python python-dev automake python-mysqldb mysql-server python-setuptools python-pip python-virtualenv git gunicorn nginx supervisor libmysqlclient-dev

Atualizando servidor

sudo apt-get update
sudo apt-get upgrade

CONFIGURAÇÃO DO PROJETO

diretório dos projetos

cd /var/
sudo mkdir www

alterando permissão da pasta para o usuário ubuntu

sudo chown ubuntu:ubuntu www
criando a pasta do site
cd www
mkdir soslink
cd soslink
mkdir logs
touch logs/access.log
touch logs/error.log

CONFIGURANDO O BANCO MYSQL

acessando banco

mysql -u root -p

Criando banco, usuário e dando permissão para o usuário

CREATE DATABASE IF NOT EXISTS soslink;
CREATE USER 'soslink'@'localhost' IDENTIFIED BY 'senha';
GRANT ALL PRIVILEGES ON `soslink` . * TO 'soslink'@'localhost';

criando env

virtualenv env --no-site-packages

Criando chave ssh no servidor

ssh-keygen

Copie o código gerado e adicione ao seu servidor no meu caso (bitbucket)

cat ~/.ssh/id_rsa.pub

clonando projeto

git clone git@bitbucket.org:willemarf/soslinks.git project

ativando env

source env/bin/activate

instalando requirements

pip install -r project/requirements.txt

caso de problema no distribute

easy_install -U distribute

instale requirements de novo

pip install -r project/requirements.txt

* configurar o settings.py com novo banco e usuário, static e media

criando as tabelas da aplicação

python project/app/manage.py syncdb
python project/app/manage.py migrate

rodar projeto para ver se ocorreu tudo bem

python project/app/manage.py runserver 8000

criar links simbolicos (depende do projeto)

ln -s project/app/static/ static
ln -s project/app/media/ media

* projeto funcionando agora precisamos configurar nginx, gunicorn e supervisor

CONFIGURANDO NGINX

editar o arquivo

sudo nano /etc/nginx/nginx.conf

adicionar a baixo dos includes que já existem

include /var/www/*/nginx.conf;

criar um arquivo nginx.conf na pasta do usuário

nano /var/www/soslink/nginx.conf

adicionar o seguinte código

upstream soslink {
  server 127.0.0.1:8000;
}
 
server {
    listen 80;
    server_name soslink.com.br www.soslink.com.br;
    client_max_body_size 50M;
 
    access_log /var/www/soslink/logs/access.log;
    error_log /var/www/soslink/logs/error.log;
 
    location /static/ {
        alias /var/www/soslink/project/static/;
    }
    location /media/ {
        alias /var/www/soslink/project/media/;
    }
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
 
        if (!-f $request_filename) {
            proxy_pass http://soslink;
            break;
        }
    }
}

reiniciar nginx

sudo /etc/init.d/nginx restart

inicie na mão o projeto e teste no navegador passando a porta 8000 e verifique se está funcionando o nginx na porta 80

python project/app/manage.py runserver 8000

Caso de erros – para verificar os erros do nginx

tail -f /var/www/soslink/logs/error.log

* caso funcione agora precisamos configurar o nginx, gunicorn e o supervisor

INSTALANDO E CONFIGURANDO GUNICORN

instalando no env

pip install gunicorn

atualizando requirements

pip freeze > project/requirements.txt

editar o arquivo settings.py do projeto e adicionar

INSTALLED_APPS = (
    ...
    "gunicorn", 
 
)

rodar o projeto com gunicorn para ver se funcionou

python project/app/manage.py run_gunicorn -b 0.0.0.0:8000

CONFIGURANDO SUPERVISOR

supervisor não deixará sua aplicação fechar caso ocorra erro.

Editando arquivo de configuração do supervisord

sudo nano /etc/supervisor/supervisord.conf

comente a linha do files e adicione a sua onde ficaram os projetos:

[include]
;files = /etc/supervisor/conf.d/*.conf
files = /var/www/*/supervisor.conf

criar um arquivo na pasta do usuário com nome supervisor.conf

nano /var/www/soslink/supervisor.conf

adicionar o código a baixo:

[program:soslink]
command=/var/www/soslink/env/bin/python /var/www/soslink/project/app/manage.py run_gunicorn -b 127.0.0.1:8000 -w 3
directory=/var/www/soslink/project
autostart=true
autorestart=true

reinicie o supervisord

sudo /etc/init.d/supervisor restart

verifique se está rodando o projeto

sudo supervisorctl

no console do supervisor que irá mostrar os status das aplicações rodando

status

inicia ou para app

start nome_app
stop nome_app

Espero ter ajudado!! abs

Tags: , , , , , ,

Instalando python 2.7 e django 1.4 no windows

Primeiro passo baixar é baixar o python 2.7. Link para download:

http://www.python.org/download/

Baixe o arquivo para windows – Installer x86 ou 64.
Para instalar é fácil basta executar o arquivo .msi. O famoso … next, next….. Finish…

Agora é preciso configurar a variável ambiente.

Propriedades em meu computador – Variáveis ambiente… procure path. Adicione no final:

;C:\Python27\

Dúvidas assista o vídeo:

Para executar os próximos passos não esqueça de fechar e abrir o prompt para atualizar a variável ambiente.

Segundo passo baixar o setuptools (necessário para instalar o pip) e o pip (pacote de instalação de pacotes python)

Links para download:

setuptools - http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
pip - http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz

Primeiro instale o setuptools pois o pip depende de pacotes dele.
Para instalar é preciso extrair na pasta e ir até ela via prompt.

Exemplo:

acessar o diretório

cd Downloads/setuptools-0.6c11/

Para instalar

python setup.py install

acessar o diretório

cd Downloads/pip-1.2.1/

installar

python setup.py install

Para funcionar o pip você precisa criar o link simbolico no path, em variáveis do sistema: coloque o ; e adicione no final, não apague nada.

;C:/Python27/Scripts/

Para funcionar basta fechar o prompt e abrir de novo!

pip install django==1.4.3

Abs :)

Tags: , ,

Filed under:Python, Todos, Windows

Criando comandos de atalhos no terminal do Mac/Linux

Perdia muito tempo digitando comandos gigantescos no terminal, resolvi deixar de preguiça e pesquisar como melhorar a produtividade. Uma boa dica e criar comandos de atalho no terminal, que é bem prático e fácil.

Exemplo) para rodar um projeto django geralmente executamos este comando:

python manage.py runserver 8000

Com comando de atalho pode ser executado desde modo:

run

Para criar estes atalhos, abra o arquivo .profile que fica na raiz do usuário.
Utilize o editor que de sua preferência…

nano ~/.profile
gedit ~/.profile
sublime ~/.profile

Adicione a função no final do arquivo

run() {
    echo "executando... python manage.py runserver $1"
    python manage.py runserver "$1"
}

Pronto agora precisa forçar atualização do arquivo no terminal ou reiniciar ele.

source ~/.profile

Pronto agora pode digitar comando que irá funcionar.

Aqui segue algumas funções que eu utilizo. ;)

# git commit
cm() {
    git commit -m "`echo $1`" -a
}
# git add all & commit
cma() {
    git add .
    git commit -m "`echo $1`" -a
}
# fabric - deploy
deploy() {
    fab deploy
}
# python - run django
run() {
    echo "executando... python manage.py runserver $1"
    if [ "$1" != '' ]; then
        python manage.py runserver "0.0.0.0:$1"
    else
        python manage.py runserver "0.0.0.0:8000"
    fi
}
# python - migrate
migrate() {
    echo "executando... python manage.py migrate"
    python manage.py migrate
}
# python - auto
auto() {
    echo "executando... python manage.py schemamigration $1 --auto"
    python manage.py schemamigration $1 --auto
}
# python - initial
initial() {
    echo "executando... python manage.py schemamigration $1 --initial"
    python manage.py schemamigration $1 --initial
}

abs ;)

Tags: , ,

Problema ao instalar MySQL-python no linux

Ao tentar instalar o mysql:

pip install MySQL-python

Aparece o seguinte erro:

sh: mysql_config: command not found
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

Para resolver instale esta lib (distribuições baseadas no debian):

sudo apt-get install libmysqlclient-dev

Outro erro que pode ocorrer:

error: command 'gcc' failed with exit status 1

Para resolver este erro instale:

sudo apt-get install python-dev

abs

Tags: , , ,

Instalando e utilizando o pip

Gerenciador de pacotes de programas python, identico ao apt-get ou yum. Muito utilizado por desenvolvedores django

site oficial http://pypi.python.org/pypi/pip

Instalação do pip em Distribuições linux baseadas no debian.

sudo apt-get install python-pip

Instalação em outras distribuições

curl -O http://pypi.python.org/packages/source/p/pip/pip-X.X.tar.gz
tar xvfz pip-X.X.tar.gz
cd pip-X.X
sudo python setup.py install

Gera um arquivo com todas apps do env

pip freeze > requirements.txt

Para instalar todas apps do seu env

pip install -r requirements.txt

Para instalar um programa, exemplos:

pip install PIL
pip install django
pip install south
pip install virtualenv

Abs

Tags: , ,

Filed under:Django, Python