Ir al contenido principal

Python Glade: Aplicaciones portables

Esto no es un tutorial de programacion de python y gtk, solo es una solucion para que tus aplicaciones puedan ser portables. Hablamos de aplicaciones sencillas que puedes llevar en una memoria pero que para ser ejecutadas dependen de su respectivo gladefile.glade

El problema es este: Tu creas tu aplicacion y dentro de ella cargas el archivo .glade para asi obtener tu interfaz grafica. Pero para que la encuentre deberas usar la ruta completa, o bien, correr desde consola tu aplicacion, habiendo antes cambiado el directorio por aquel donde se encuentra la aplicacion y desde ahi correr con un python script.py . Este es el error que lanza:

glib.GError: Ha ocurrido un error al abrir el archivo «gladefile.glade»:·No existe el fichero ó directorio

Bueno encontre otra forma para que el script halle sus recursos y archivos necesarios para correr facilmente, solo hay que cambiar el directorio actual de trabajo, ¿Como cambiar el directorio actual de trabajo en python? Facil, en dos lineas:

import sys 
import os

rDir = os.path.split(sys.argv[0])[0]
os.chdir(rDir)

Bueno el import no cuenta, por que es necesario :D para acceder a las funciones siguientes.

La linea 4 se encarga de obtener el directorio donde se encuentra tu aplicacion. Si la estubieses corriendo desde una memoria en linux devolvera algo como lo siguiente:
/media/miMemoria/apps/
La parte de sys.argv[0] devuelve toda la ruta junto con el nombre de tu aplicacion, por ello usamos os.path.split que partira dicha ruta en 2: La primera que contiene los directorios y la segunda que contiene el puro nombre del archivo. El utlimo par de corchetes [0] hace que solo se guarde la primera parte de la ruta.

La linea 5 cambia el directorio actual de trabajo (normalmente cuando corres un script python el directorio de trabajo es /home/user), por el directorio de donde estas corriendo tu aplicacion, asi, todas las llamadas a archivos se pueden hacer locales por que ya estas ubicaco en la carpeta de tu aplicacionm que es donde seguramente tendras tus recursos como tu gladefile.file

Con esto ya puedes correr tu aplicacion desde tu memoria sin necesidad de consola solo haciendo doble click en ella.

Comentarios

Entradas populares de este blog

Bloqueando intrusos en EchoLife HG520c

1. Entrar al portal de configuración del router. Para ello ingresa la ip publica que tengas. Cuando te pida autenticarte pon TELMEX como usuario y la clave WEP (original) de tu router como password. 1.1 Si ya tienes la direccion MAC del equipo a bloquear salta al paso 2. Para obtener la direccion MAC del equipo a bloquear, ir a la sección Avanzado del menú izquierdo y de ahí a la ultima opción Gestion de dispositivos . Ahí veras todos los dispositivos que están o han estado alguna vez conectados. Puedes dar clic en Visualizar detalles de dispositivos para así ver la dirección MAC de dicho equipo 2. En el menú izquierdo das clic en Básico para que te muestre mas opciones y de ellas clic en LAN Inalámbrica. 3. Desliza la parte derecha hacia abajo hasta llegar a la sección Filtro de dirección MAC inalámbrica. Haz clic en activo para activar el filtro y en las cajas de texto de abajo ingresa la dirección MAC a bloquear. Asegurate que en acción este seleccionado Denegar Asocia

Sweet Home 3D: Diseño 2d y 3d para planos

Hacia tiempo que usaba una aplicacion online para hacer los diseños de los planos que necesitaba, y es que a veces es muy importante tener una imagen de como van a quedar las cosas y asi juzgarla, eso de regresar todo como estaba es una lata. Entonces halle Sweet Home 3D que vaya que es bueno! Esta basado en java (mmm esperemos y eso se solucione pronto) pero responde muy bien, yo lo prove en una aspire one de esas chiquitas y aun asi los graficos en 3d pudieron verse sin problema (bueno no esperaba que se vieran bien ni siquiera esperaba que se vieran! jaja) Aqui les va un minitutorial:

The Game - Dope Boys : Video, Letra y Traduccion

Verse 1 Yeah... Comin' fresh out that Pyrex pot, / Si llegando fresco desde aquel pyrex pot Black Air Force 2's and the White Sox.../ Black air force 2 y calcetas blancas Fitted on my forehead, try me, go head. / A la medida de mi frente, pruebame, adelante I'll bring out the polka dots, put Guame on your forehead. / Sacare los puntos polka, pondre Guame en tu frente Yeah, it's the new king of everything, / Si es el nuevo rey de todo, And bitches don't say no to me, I'm like a wedding ring. / Y las perras no me dicen que no, soy como un anillo de compromiso