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

Habilitar/Deshabilitar dispositivos en Windows mediante consola

O terminal o linea de comandos o como quieras llamarle. Es esa cajita negra a la que muchos le tienen miedo (yo mas que miedo le tengo flojera prefiero los clics que los tecleos XD). ¿Por que hice esto? Tengo una antena wifi usb que por algun motivo cuando recien inicio Windows no conecta a ninguna red, las detecta pero nomas no puede conectarse asi que hice lo que cualquier noob, la desconecte y la volvi a conectar. Y para mi sorpresa ¡funciono!. Asi que esta se volvio mi solucion diaria...pero digo...¿que no hara mal a mi antena esto? Asi que mejor opte por investigar como poderlo hacer desde el sistema pero de forma automatizada por que eso de ir siempre al administrador de dispositivos es algo tardado.

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...

Sony Ericsson Iphone Icons

Set de iconos basado en los iconos de judge adaptados al celular s500i, pero de igual manera funciona con otros. Aqui dejo los iconos y el archivo menu.ml. Estos archivos debes subirlos al celular mediante el programa XS++, aqui dejo un tutorial de ello. Descarga: http://www.mediafire.com/file/dxz12ije2jg/Iphone.zip