En esta entrada comentremos de como poder tener un ambiente de desarrollo, en Fedora, para poder programar en Python usndo como framework a Django y todo esto usando el Google AppEngine (que desde ahora llamaremos GAE).
Primero necesitaremos conocer algunas caracteristicas de aquello en lo que nos estamos metiendo, por supuesto lo que se tiene qu explicar es por supuesto: versiones de python y Djang las cuales GAE soporta, porque ya ustedes sabran que no podemos usar cualquier version de estos dos items, porque en si, GAE no es que no los soporte, sino que no se ejecutaran a su maxima extension o puede que simplemente halla modulos los cuales no tengan el mismo nombre; despues de haber dado este preludio comenzaremos:
Necesitamos:
- Una pizca de python 2.5.X
- Un cucharadito de Django 1.1.X
- y por supuesto una taza sopera de GAE (la cual no diremos de donde descargarla porque mas adelante les daremos una receta de como obtenerla)
Nota: Si se hallan en la misma situacion que yo al momento de escribir este post y se hallan en Fedora 15 u otra distribucion la cual lleva por defecto python 2.7.X o quien sabe superior, no te preocupes, despues de haberme perdido, buceado, navegado, etc. por la web encontre una forma completa (extraida de a pedacitos) para poder tener un entorno de desarrollo adecuado, y probado :).
A continuacion necesitamos "comenzar" a preparar el ambiente de desarrollo para que nuestras apps en python y django se puedan ejecutar sobre GAE
Para esto no importa que version de python tengamos instalado en nuestra PC ya que nosotros utilizaremos VirtualENV el cual nos podra permitir "montar" un ambiente de desarrollo para python desligado de las versiones de nuestro SO. Para ello usaremos nuestro viejo amigo: YUM
# yum install python-virtual-env
Algo muy importante que necesitaremos en el transcurso de este tutorial es por supuesto la herramienta "pip" que es similar a yum pero solo para python, lo pueden instalar con yum o sino de la siguiente forma:
$ sudo easy-install pip
Nota: Para los que hayan trabajado antes con python sabran que con easy-nstall y pip pueden instalar lo que deseen y mucho mas :)
Y ok ya tenemos instalado virtualENV, ahora comenzaremos el verdadero trabajo :). Montemos nuestro ambiente de desarrollo, para ello prepararemos una pequenha distribucion de carpetas para poder diferencias entre libraries (o bibliotecas) y nuestro code source:
$ mkdir -p foo/{env,src}
$ cd foo/
$ virtualenv --no-site-packages --python=python2.5 env/
Lo primero que hicimos fue crear la distribucion de carpetas en env se hallaran nuestras libraries y en src nuestro codifo fuente, despues de ello con el comando virtualenv, comienza la magia, le estamos pasando de parametros --no-site-packages con esto le decimos a virtual env que cree un ambiente totalmente separado de nuestra distro y que no copie ninguna library del mismo, y con --python=python2.5 env/ que instale en el ambiente de desarrollo python en su version 2.5 (puede ser la que deseen solo cambien la version de python) en la carpeta env/.
Lo siguiente sera instalar django (ya sabemos que debe de ser la version 1.1.X para poder trabajar sin problemas con GAE) para ello usaremos, nuestro programita "pip"
$ pip -E env/ install Django==1.1
Nota: Cuando se desee instalar algun modulo en especial se necesita usar de esta forma con el operador == y la version que deseas.
Para anhadirle algunas opciones mas que no sn obligatorias, pero podrian ser utiles cuando programes (sobr todo en esta web2.0) puedes usar instalamos algunos eggs.
$ sudo pip -E env/ install -e hg+https://bitbucket.org/ubernostrum/django-registration#egg=django-registration
$ sudo pip -E env/ install -e git+https://github.com/flashingpumpkin/django-socialregistration.git#egg=django-socialregistration
Esta primera parte ya esta casi completa, solo necesitamos ver si lo que instalamos hasta el momento esta corrrecta y funcionalmente instalado, para ello usaremos yolk:
$ pip -E env/ install yolk
$ source env/bin/activate
(env)$ yolk -l
Con el primer comando, como ya sabemos, instalamos el programa o modulo que deseemos, en este caso yolk, con el segundo ordenamos al SO que active nuestro entorno customizado y por ultmo con yolk -l al igual que un ls -l, listara en este caso no archivos sino modulos y programas instalados en nuestor ambiente de desarrollo.
Con esto hemos llegado al final del primer tutotial, con fe como siempre digo, el segundo tutorial ya mostrara la instalacion mas adecuada que he encontrado para GAE y si no se hace muy extenso el como solucionar los problemas que no soy el unico que le han sucedido pero que para poder resarcirlos hay que bucear un buen rato.
Hasta la proxima, NuSs empowerment (asi se escribe no???)
XP