[Python-es] Problema al importar script en Ubuntu

Martín Liporace martin.liporace en gmail.com
Vie Abr 8 14:00:46 EDT 2016


Excelente, funciona perfecto. Gracias‼

El 8/4/16, Carlos Zuniga <carlos.zun en gmail.com> escribió:
> 2016-04-07 6:49 GMT-05:00 Martín Liporace <martin.liporace en gmail.com>:
>> Gracias por tu respuesta, Carlos. Estuve tratando de entender cómo
>> funciona Popen y no encontré ejemplos claros en español. Qué
>> argumentos debo pasarle si quiero que desde menu.py ejecute
>> consulta.py, que se encuentra en el mismo directorio?
>>
>
> Como mínimo `subprocess.Popen(['python', 'consulta.py'])`. Si
> necesitas algún uso más avanzado solo mira la documentación
> https://docs.python.org/2.7/library/subprocess.html#popen-constructor
>
>> El 7/4/16, Carlos Zuniga <carlos.zun en gmail.com> escribió:
>>> 2016-04-06 10:48 GMT-05:00 Martín Liporace <martin.liporace en gmail.com>:
>>>> Hola a todos. Trataré de describir lo más claramente posible el
>>>> problema que tengo. Estoy adaptando un programa de consulta de stock
>>>> que desarrollé en Windows con Python 2.7 y PyQt4 para que funcione con
>>>> Ubuntu. El mismo posée una ventana principal con cuatro botones
>>>> (consultar, ingresar nuevos artículos, modificar artículos y salir).
>>>> En Windows quedó perfecto: uso el botón Consultar, por ejemplo, y se
>>>> abre una nueva ventana con sus correspondientes funciones, SIN que se
>>>> cierre la del menú principal. Si cierro la de consulta, puedo seguir
>>>> usando la primera, hasta que la cierre. El problema es que en Ubuntu
>>>> no puedo usar os.startfile, y al usar subprocess.call se abre la
>>>> segunda ventana, puedo utilizarla perfectamente PERO la primera se
>>>> bloquea (y hasta toma un tono más oscuro). Qué estoy haciendo mal?
>>>
>>> Por lo que entiendo la manera en la que abres la segunda ventana es
>>> ejecutando un nuevo interprete de python con el otro script?
>>>
>>> Si es así, subprocess.call espera a que el programa que has ejecutado
>>> termine, así que se bloquea el script. Deberías usar subprocess.Popen.
>>>
>>> Por otro lado, en lugar de ejecutar otro interprete, podrías
>>> simplemente abrir la ventana creando una instancia y mostrarla todo
>>> dentro del mismo proceso.
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>


Más información sobre la lista de distribución Python-es