[Python-es] script como un servicio en Windows

482 views
Skip to first unread message

Yulier Garcia

unread,
May 30, 2012, 12:44:46 PM5/30/12
to pyth...@python.org
Hola a todos!!

Lo que quiero hacer es que un script en python que se ejecute como un
servicio en Windows

muchas gracias
_______________________________________________
Python-es mailing list
Pyth...@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

mauricio rodriguez

unread,
May 30, 2012, 12:49:57 PM5/30/12
to La lista de python en castellano
y la pregunta es ......

Asdrúbal Iván Suárez Rivera

unread,
May 30, 2012, 12:56:43 PM5/30/12
to La lista de python en castellano
El 30 de mayo de 2012 12:14, Yulier Garcia <yulie...@gmail.com> escribió:
Hola a todos!!

Lo que quiero hacer es que un script en python que se ejecute como un
servicio en Windows


 
muchas gracias
_______________________________________________
Python-es mailing list
Pyth...@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/



--
Asdrúbal Iván Suárez Rivera

El éxito de alguien que enseña no es que sepa mucho, sino que lo poco que sabe lo sepa hacer llegar.

Oswaldo

unread,
May 31, 2012, 5:03:45 AM5/31/12
to La lista de python en castellano
El 30/05/2012 18:44, Yulier Garcia escribió:
> Hola a todos!!
>
> Lo que quiero hacer es que un script en python que se ejecute como un
> servicio en Windows
>

Instala las extensiones win32 y alli tienes un ejemplo para crear
servicios. Una vez hecho tienes la posibilidad de crear un exe
utilizando py2exe

--
Oswaldo

Diego Uribe Gamez

unread,
May 31, 2012, 11:49:42 AM5/31/12
to La lista de python en castellano
Django es MVT yo te recomiendo MVC modelo vista controlador, en linux es mas fácil hacer un demonio que haga algo por debajo del sistema o mas bien de forma oculta, li lo que quieres es hacer un programa creo que la idea esta sobre el MVC

No se si te funciones, es solo una idea.
--
 Diego Alonso Uribe Gamez

Desarrollador web

Twitter: @DiegoUG

Google+: http://gplus.to/diegoug




aaal...@grm.uci.cu

unread,
Jun 1, 2012, 3:41:56 PM6/1/12
to pyth...@python.org
Hola a todos sucede que estoy tirando mi código en gtk el cual les
pongo a continuación:

********************************************************
class icarus_pantallazo:
def main(self):
root = gtk.gdk.get_default_root_window();
rootwidth, rootheight = root.get_size();
current_dt=datetime.datetime.now()
dia_numero= "%02d" % current_dt.day
meses_numero="%02d" % current_dt.month
anio=str(current_dt.year)
hora_24="%02d" % current_dt.hour
minuto="%02d" % current_dt.minute
segundo="%02d" % current_dt.second

self.fecha=dia_numero+"-"+meses_numero+"-"+anio+"_"+hora_24+":"+minuto+":"+segundo
#
self.pix = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, 1, 8,
rootwidth, rootheight);
self.pix.get_from_drawable(root, root.get_colormap(), 0, 0,
0, 0, rootwidth, rootheight);

def destruir(self,widget, data="None"):
gtk.main_quit()
def guardar(self,modo):
if modo==1:
#crear ventana para tomar el recuadro
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_decorated(True)
self.window.connect("destroy", self.destruir)
self.window.set_events(self.window.get_events() |
gtk.gdk.BUTTON_PRESS_MASK)
self.window.connect("button_press_event", self.press_aplication)
self.window.show()

pixmap, mask =
gtk.gdk.pixmap_create_from_xpm_d(self.window.window, None, data)
self.image = gtk.Image()
self.image.set_from_pixmap(pixmap, mask)
self.image.show()

# To display the image, we use a fixed widget to place the image
self.fixed = gtk.Fixed()
self.fixed.set_size_request(50,50) #16,16
self.fixed.put(self.image, 0, 0)
self.window.add(self.fixed)
self.fixed.show()
self.window.shape_combine_mask(mask, 0, 0)
gtk.main()
#
if self.pix!=None:
dir_foto=dir_completa+self.fecha+".png"
self.pix.save(dir_foto, "png")
lista.append(dir_foto)
return 0
return 1
def press_aplication(self, widget, event):
#print event
if event.x<=16 and event.y<=16 and event.button==1:
dimension=self.window.get_size()
posicion=self.window.get_position()
pix_aux = self.pix.subpixbuf(posicion[0],posicion[1],
dimension[0], dimension[1])
self.pix=pix_aux
self.window.hide()
gtk.main_quit()
#self.pix=None
return 0

def close_application(self, widget, event, data=None):
gtk.main_quit()
self.pix=None
#del self.window
return gtk.FALSE
**********************************************************
El objetivo que pretendo es crear una ventana para realizar una
selección en un determinado link de la aplicación
pero al encontrarmen en una pc cliente en la que navego por la
aplicación que se encunetra corriendo en un servidor de prueba con
django, ocurre que la ventana sale en la pc servidor y no en la pc
cliente cuando en realidad se ha dado click en la pc cliente. Si
alguién pudiera orientarme cómo resolver el problema para que salga en
la pc que se a ejecutado la acción me sería de mucha ayuda, de esto
depende una tesis.

lesthack

unread,
Jun 1, 2012, 3:48:20 PM6/1/12
to La lista de python en castellano
Espera, este pedazo de código esta en el servidor o en el cliente ?

No puedes abrir una ventana gtk en un cliente si el código se ejecuta en el servidor.
--
________________________________________________________

ISC. Jorge Luis Hernández C.
Desarrollador de Software y Tecnologías Libres

Colaborador GNU/Linux Debian México
@lesthack
________________________________________________________

aaal...@grm.uci.cu

unread,
Jun 1, 2012, 4:06:39 PM6/1/12
to La lista de python en castellano
está en el servidor, pero ahora según su respuesta me pregunto cómo
lograr que se vea en el cliente
lesthack <lest...@gmail.com> escribió:

> Espera, este pedazo de código esta en el servidor o en el cliente ?
>
> No puedes abrir una ventana gtk en un cliente si el código se ejecuta en el
> servidor.
>
> On Fri, Jun 1, 2012 at 2:41 PM, <aaal...@grm.uci.cu> wrote:
>
>> Hola a todos sucede que estoy tirando mi código en gtk el cual les pongo a
>> continuación:
>>
>> **********************************************************
>> class icarus_pantallazo:
>> def main(self):
>> root = gtk.gdk.get_default_root_**window();
>> rootwidth, rootheight = root.get_size();
>> current_dt=datetime.datetime.**now()
>> dia_numero= "%02d" % current_dt.day
>> meses_numero="%02d" % current_dt.month
>> anio=str(current_dt.year)
>> hora_24="%02d" % current_dt.hour
>> minuto="%02d" % current_dt.minute
>> segundo="%02d" % current_dt.second
>> self.fecha=dia_numero+"-"+**meses_numero+"-"+anio+"_"+**
>> hora_24+":"+minuto+":"+segundo
>> #
>> self.pix = gtk.gdk.Pixbuf(gtk.gdk.**COLORSPACE_RGB, 1, 8,
>> rootwidth, rootheight);
>> self.pix.get_from_drawable(**root, root.get_colormap(), 0, 0, 0,
>> 0, rootwidth, rootheight);
>>
>> def destruir(self,widget, data="None"):
>> gtk.main_quit()
>> def guardar(self,modo):
>> if modo==1:
>> #crear ventana para tomar el recuadro
>> self.window = gtk.Window(gtk.WINDOW_**TOPLEVEL)
>> self.window.set_decorated(**True)
>> self.window.connect("destroy", self.destruir)
>> self.window.set_events(self.**window.get_events() |
>> gtk.gdk.BUTTON_PRESS_MASK)
>> self.window.connect("button_**press_event",
>> self.press_aplication)
>> self.window.show()
>>
>> pixmap, mask =
>> gtk.gdk.pixmap_create_from_**xpm_d(self.window.window,
>> None, data)
>> self.image = gtk.Image()
>> self.image.set_from_pixmap(**pixmap, mask)
>> self.image.show()
>>
>> # To display the image, we use a fixed widget to place the image
>> self.fixed = gtk.Fixed()
>> self.fixed.set_size_request(**50,50) #16,16
>> self.fixed.put(self.image, 0, 0)
>> self.window.add(self.fixed)
>> self.fixed.show()
>> self.window.shape_combine_**mask(mask, 0, 0)
>> gtk.main()
>> #
>> if self.pix!=None:
>> dir_foto=dir_completa+self.**fecha+".png"
>> self.pix.save(dir_foto, "png")
>> lista.append(dir_foto)
>> return 0
>> return 1
>> def press_aplication(self, widget, event):
>> #print event
>> if event.x<=16 and event.y<=16 and event.button==1:
>> dimension=self.window.get_**size()
>> posicion=self.window.get_**position()
>> pix_aux = self.pix.subpixbuf(posicion[0]**,posicion[1],
>> dimension[0], dimension[1])
>> self.pix=pix_aux
>> self.window.hide()
>> gtk.main_quit()
>> #self.pix=None
>> return 0
>>
>> def close_application(self, widget, event, data=None):
>> gtk.main_quit()
>> self.pix=None
>> #del self.window
>> return gtk.FALSE
>> ************************************************************
>> El objetivo que pretendo es crear una ventana para realizar una selección
>> en un determinado link de la aplicación
>> pero al encontrarmen en una pc cliente en la que navego por la aplicación
>> que se encunetra corriendo en un servidor de prueba con django, ocurre que
>> la ventana sale en la pc servidor y no en la pc cliente cuando en realidad
>> se ha dado click en la pc cliente. Si alguién pudiera orientarme cómo
>> resolver el problema para que salga en la pc que se a ejecutado la acción
>> me sería de mucha ayuda, de esto depende una tesis.
>>
>>
>> ______________________________**_________________
>> Python-es mailing list
>> Pyth...@python.org
>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>

Diego Uribe Gamez

unread,
Jun 1, 2012, 4:23:48 PM6/1/12
to La lista de python en castellano
Al cliente le toca instalar el programa, para el como cliente.

Angel Claudio Alvarez

unread,
Jun 1, 2012, 6:50:55 PM6/1/12
to pyth...@python.org
El vie, 01-06-2012 a las 13:06 -0700, aaal...@grm.uci.cu escribió:
> está en el servidor, pero ahora según su respuesta me pregunto cómo
> lograr que se vea en el cliente

con ssh

ssh usuario@servidor -X 'python /ruta_tu_aplicacion'

es algo rapido y sucio (mugriento para ser preciso)
si no, escribi un cliente que use paramiko y se conecte al servidor y
ejecute el codigo. Viene a ser lo mismo pero mas prolijo

aaal...@grm.uci.cu

unread,
Jun 1, 2012, 11:55:52 PM6/1/12
to La lista de python en castellano
Debe funcionar lo que me dices pero imagina que ya la aplicación se
despliega en un servidor, para que todos los clientes del mundo que se
conecten a la web puedan pinchar en el link que mediante gtk lanza la
ventana, la idea es que tu como cliente al pinchar en el link veas la
ventana que se genera con gtk y no que salga en la pc servidor.
Supongo que ahora si me debes entender con lo que pido.
Angel Claudio Alvarez <an...@angel-alvarez.com.ar> escribió:

Angel Claudio Alvarez

unread,
Jun 2, 2012, 1:19:08 PM6/2/12
to pyth...@python.org
El vie, 01-06-2012 a las 20:55 -0700, aaal...@grm.uci.cu escribió:
> Debe funcionar lo que me dices pero imagina que ya la aplicación se
> despliega en un servidor, para que todos los clientes del mundo que se
> conecten a la web puedan pinchar en el link que mediante gtk lanza la
> ventana, la idea es que tu como cliente al pinchar en el link veas la
> ventana que se genera con gtk y no que salga en la pc servidor.
> Supongo que ahora si me debes entender con lo que pido.

No
Me parece que no entendes la arquitectura cliente servidor
Y estas mezclando una aplicacion web con una de escritorio
Solo podrias hacerlo con java
Si la aplicacion la tenes en django lo que podes hacer es que abra una
nueva ventana (html) pero NO una aplicacion gtk en el cliente

Si queres hacer que desde un link en una webapp se abra una ventana con
una apliacion en el cliente tene que usar applets de java. Python no
hace eso

aaal...@grm.uci.cu

unread,
Jun 2, 2012, 5:19:12 PM6/2/12
to La lista de python en castellano
Ok, ya entiendo muchas gracias.
Reply all
Reply to author
Forward
0 new messages