Veo Python y GTK/QT/wxWindows un medio muy rápido para la creación de aplicaciones multiplataforma, pero tengo una pequeña gran duda y es de cara a la distribución de los programas.
Para usuarios de GNU/Linux o BSD's, sin problema, pero los usuarios de Windows no están para nada acostumbrados a ejecutar scripts (aunque estos sean en Python); están acostumbrados a doble clic y a tirar millas, así que hacerles instalar el intérprete, luego el toolkit y demás, era un jaleo. ¿Quizá la solución era un instalador que lo dejara todo hecho?. Buscando encontré py2exe [python.net] (que crea un único ejecutable con el intérprete incluso), aunque cuando lo probé hace cosa de medio año me resultó bastante complicado. A decir verdad no recuerdo si llegué a crear algún ejemplo... mmm, creo que si, pero fue un simple Hola mundo, no una aplicación compleja (grafica y tal) que es para lo que me interesaría.
¿Cómo distribuís vuestros programas en python para windows?
Muy sencillo, tu instalador tiene que hacer lo siguiente: miras en el registro (ahora no recuerdo la clave) si Python está previamente instalado, si no lo está lo instalas, y si lo está te quedas con el directorio site-packages por si tienes que instalar algún módulo, Python por defecto asigna los .py al intérprete en Windows al instalarse así que no hay ningún otro problema...
Bueno, yo utilizo py2exe en Windows para distribuir varias aplicaciones que hemos hecho en la empresa con python y wxPython. No he visto ningún problema (hay que tener cuidado con los encodings y poco más), una vez hecho el primer setup.py, que es muy sencillo de hacer, los demás van solos.
--
Derfel
"De las cosas que se pueden hacer con un ordenador,
la más inútil es la más divertida"
Casualmente estas navidades escribí un tutorial en cristiano [enlavin.com] sobre cómo crear un ejecutable en windows con py2exe a partir de scripts python que usen pygtk. Hay un poco de lío al coger las dlls de gtk, pero por lo demás no es demasiado complicado.
Se puede complementar con un instalador al estilo de InnoSetup o NSIS para que el destinatario de la aplicación no la distinga de una aplicación windows tradicional.
(mode autobombo off)
Otra persona lo ha hecho de forma algo más automática con cx_freeze [python.net] (que es multiplataforma) y ha explicado cómo hacerlo [aditel.org] con un script [diselpro.com] .
Nos vemos!
-- -- Obstáculos es lo que ves cuando apartas la vista del objetivo.
¿Distribución de programas en python?
(Puntos:1)( Última bitácora: Domingo, 25 Febrero de 2007, 01:02h )
Veo Python y GTK/QT/wxWindows un medio muy rápido para la creación de aplicaciones multiplataforma, pero tengo una pequeña gran duda y es de cara a la distribución de los programas.
Para usuarios de GNU/Linux o BSD's, sin problema, pero los usuarios de Windows no están para nada acostumbrados a ejecutar scripts (aunque estos sean en Python); están acostumbrados a doble clic y a tirar millas, así que hacerles instalar el intérprete, luego el toolkit y demás, era un jaleo. ¿Quizá la solución era un instalador que lo dejara todo hecho?. Buscando encontré py2exe [python.net] (que crea un único ejecutable con el intérprete incluso), aunque cuando lo probé hace cosa de medio año me resultó bastante complicado. A decir verdad no recuerdo si llegué a crear algún ejemplo... mmm, creo que si, pero fue un simple Hola mundo, no una aplicación compleja (grafica y tal) que es para lo que me interesaría.
¿Cómo distribuís vuestros programas en python para windows?
Re:¿Distribución de programas en python?
(Puntos:2)( http://barrapunto.com/ )
Re:¿Distribución de programas en python?
(Puntos:2)( http://www.pedrocarrasco.net/ )
Derfel
"De las cosas que se pueden hacer con un ordenador, la más inútil es la más divertida"
Re:¿Distribución de programas en python?
(Puntos:1)( http://enlavin.com/ )
Casualmente estas navidades escribí un tutorial en cristiano [enlavin.com] sobre cómo crear un ejecutable en windows con py2exe a partir de scripts python que usen pygtk. Hay un poco de lío al coger las dlls de gtk, pero por lo demás no es demasiado complicado.
Se puede complementar con un instalador al estilo de InnoSetup o NSIS para que el destinatario de la aplicación no la distinga de una aplicación windows tradicional.
(mode autobombo off)
Otra persona lo ha hecho de forma algo más automática con cx_freeze [python.net] (que es multiplataforma) y ha explicado cómo hacerlo [aditel.org] con un script [diselpro.com] .
Nos vemos!
-- Obstáculos es lo que ves cuando apartas la vista del objetivo.