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

Angel Java Lopez ajlopez2000 en gmail.com
Lun Jun 16 15:24:45 ART 2014


Agregaria:

- Tener el python27 en el directorio local de tu aplicacion, permite no
tener que instalarlo. Instalar python27 en Windows, es algo intrusivo, por
ejemplo, te puede pasar por encima de un Python3 que tengas (por lo menos
era asi en su tiempo, hace que todo .py se ejecute desde EL ULTIMO PYTHON
instalado, por mas PATH que pongas apuntando a la version que quieras; si
algun utilitario tuyo lanza directamente un programa.py en vez de hacer
python programa.py, fuiste, caiste en la trampa de los instaladores de
Windows).

- Desconozco cuanto problema es en python, pero tener las
librerias/paquetes directamente en el directorio de tu aplicacion a
instalar en cualquier maquina, permite trabajar sin tener que estar
conectado.

Friccion? Si, ver si lo que armas en un directorio, sirve en todos los
windows que tenes para usar. Tendras paquetes que dependan de win32 vs
64bits?

Pero desconozco si es lo mejor en esta situacion. Mirandolo de lejos, me
parece que es mas simple. Si funcionara, practicamente podrias instalar
cualquier cosa (preparar bien un directorio, xcopy a otra maquina, y voila)

Nos leemos!

Angel "Java" Lopez
@ajlopez



2014-06-16 13:19 GMT-03:00 Angel Java Lopez <ajlopez2000 en gmail.com>:

> Bien, veamos
>
> Primero, probaria de armar todo en un directorio para abajo. Digo, Que ese
> directorio para abajo, tenga todo lo que necesite tu aplicacion. Lo
> llamamos directorio de app, digamos
>
> d:\superduperapp
>
> Haria un archivo .cmd con los comandos para lanzar tu aplicacion
> (algo sobre el shell de windows
> http://en.wikibooks.org/wiki/Windows_Batch_Scripting no se cuan
> actualizado esta)
>
> ejemplo simple de d:\superduperapp\run.cmd
>
> @echo off
> set PATH=c:\python27;c:\python27\Scripts;%PATH%
> python myapp.py
>
> El tema que me imagino:
> Tu aplicacion necesita paquetes de Python instalados. Y que recuerde, los
> instala dentro de c:\python27 (en el caso que python.exe a usar por pip y
> demas este ahi). Hay alguna forma de poner los paquetes que necesita tu
> aplicacion DENTRO de d:\superduperapp y que el python los busque ahi?
>
> Segundo tema: desligarse de tener el c:\python27. Que ya en tu directorio
> de aplicacion este en algun directorio el python, junto con las librerias
> que necesita.
>
> Digamos
>
> @echo off
> set PATH=d:\superduperapp\python27;d:\superduperapp\python27\Scripts;%PATH%
> python myapp.py
>
> Si eso anda, toda tu aplicacion podria estar en un USB, ir a una maquina,
> copiar todo el directorio en e:\pepito, ir al directorio ese, ejecutar
> run.cmd y deberia salir con fritas. Para eso falta un paso mas. Desligar al
> .cmd de arriba de usar explicitamente d:\superduperapp, hay una abreviatura
> para el "usa el directorio donde esta el cmd" pero no la tengo ahora, tal
> vez en el enlace de arriba que pase esta.
>
> Por ejemplo, Vagrant usa Ruby. Y no lo instala, en Windows lo tiene
> adentro como .exe en una carpeta de su instalacion. Debe haber algo asi en
> el mundo Python. Dropbox como hace?
>
> Si todo eso funciona, entonces pasaria a hacer un .exe como un .zip
> autodescomprimible. No se que productos hay ahora asi, probaria WinZip a
> ver si tiene esa opcion
>
> Cualquier duda, aca estamos!
>
> Nos leemos!
>
> Angel "Java" Lopez
> @ajlopez
>
>
>
> 2014-06-16 12:31 GMT-03:00 Emiliano Dalla Verde Marcozzi <
> edvm en fedoraproject.org>:
>
>> El 16 de junio de 2014, 12:11, Angel Java Lopez <ajlopez2000 en gmail.com>
>> escribió:
>>
>> Sin conocer Django, y el deployment de Python, leo:
>>>
>>> "Lo que más persigo, es que si se rompe la máquina, el cliente con el
>>> .exe pueda
>>> volver a instalar la app, copiar la sqlite que tenía backaupeada y que
>>> salga andando
>>> nuevamente."
>>>
>>> Entonces, por que un .exe? No podria ser un .zip, con todos los
>>> archivos, descomprimirlos, copiar la base, lanzar un comando, y voila? Mi
>>> unica duda es como poner ahi Python, para que no haya que instalarlo. Pero
>>> me imagino que el .cmd (el comando) que lanza la aplicacion, podria agregar
>>> el python.exe al PATH, y salir andando (desconozco que setear para que
>>> python encuentre librerias, las encuentra en archivos relativos al
>>> python.exe?)
>>>
>>> Si eso anda, luego se podria hacer un .exe del .zip
>>>
>>> Nos leemos!
>>>
>>> Angel "Java" Lopez
>>> @ajlopez
>>>
>> Buenas Angel, gracias por tu respuesta y muy buena idea! (no caso una de
>> windows).
>> Creo se podría crear un .zip pero en que programo los pasos para que se
>> descomprima
>> en 'n' lugar, copiar la base, agregar al PATH de windows donde están las
>> cosas, etc?
>> Podes pasarme alguna doc y a donde tengo que apuntar los cañones para
>> hacer este
>> tipo de cosas?
>> Respecto de Python (en windows) se instala por default en: c:/Python27
>> y para que python encuentre las librerías, hay que agregar a la variable
>> de sistema PATH
>> la ruta: c:/Python27/Scripts y c:/Python27/lib/site-packages/
>> Podría pegarle una mirada a algo que se llama 'portable python':
>> http://portablepython.com/
>> pero parece querer matar un mosquito con un lanzallamas xD
>> Muchas gracias y saludos!
>>
>> --
>> Broken code @ https://github.com/edvm
>>
>> <edvm en python.org.ar>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140616/8740d1b3/attachment-0001.html>


More information about the pyar mailing list