[pyar] Creando 'standalone' package (exe) de un proyecto Django para Windows

Emiliano Dalla Verde Marcozzi edvm en fedoraproject.org
Mie Jun 18 11:08:23 ART 2014


Primer avance! No es la solución perfecta, pero es bastante muy buena!
Hay muchas cosas por probar, sobre todo los links que pasó Mariano
Reingart, que
parecen ser la forma pythonica, pero bue encaré primero lo que propuso
Angel Java Lopez
de meter todo en un directorio. Lo que hice fue:

1- Descargar http://portablepython.com/ e instalarlo en el escritorio, en
una carpeta que le
llamé 'TomodachiCards' (por ser el nombre del programa para el cliente,
podría haber sisdo
cualquier otra cosa).
2- Me metí en la carpeta TomodachiCards y me encontré con una estructura de
directorio
similar a:

TomodachiCards/
    Portable-Python.exe
        App/
            python.exe
            Lib/
            Scripts/
    ...

3- Al instalar PortablePython podes elegir de una lista ya definida que
librerías de python
queres que instale, y está django 1.6! :D por lo que la carpeta
TomodachiCards dentro
ya tiene instalado django.
4- Copie todo el root de mi proyecto django (directorio llamado takosushi)
dentro de TomodachiCards
con lo que la estructura de directorios pasó a ser:

TomodachiCards/
    takosushi/
    Portable-Python.exe
        App/
            python.exe
            Lib/
            Scripts/
    ...

5- Me metí dentro del directorio takosushi y llamé al manage.py con
python.exe, algo como:
> cd takosushi
> ..\App\python.exe manage.py runserver

6- El paso 5 reventó porque mi proyecto hace uso de librerías externas. En
mi sistema, tengo
instalado python27 y pip. Con pip instalé las librerías que mi proyecto
precisa. Las librerías
están en c:/python27/lib/site-packages/. Lo que hice fue copiarlas y
pegarlas dentro de:

TomodachiCards/App/Lib/site-packages/

7- Ahora si! Volví a correr ..\App\python.exe manage.py runserver y el
proyecto anda de pm! :D
8- PortablePython te promete que el viene con todo lo que necesita dentro
de esa carpeta, y que
si lo moves a otro windows va a funcionar. Ok, yo probé todo esto en
Windows 7, así que armé
una vm con Windows Enterprise Server 2003 (que es lo que tiene el cliente),
renegué MUCHISIMO
con las restricciones de internet explorer (que no viene al caso, pero
quería hacer un poco de
catarsis) copie toda la carpeta TomodachiCards a la vm, ejecute 'cmd',
cambie al directorio
TomodachiCards, y nuevamente:

> cd takosushi
> ..\App\python.exe manage.py runserver

Y voilá! Eureka! Abrí con el browser localhost:8000 y funciona!

Cosas que me faltan por hacer:
1- Comprimir el directorio TomodachiCards en 7z o .zip y crear un .exe que
se autodescomprima
2- Crear un run.cmd en el root del directorio TomodachiCards que ejecute el
manage.py runserver

Bueno, espero que les haya gustado!
Chau!

-- 
Broken code @ https://github.com/edvm

<edvm en python.org.ar>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140618/e167f99c/attachment-0001.html>


More information about the pyar mailing list