Foros del Web » Programando para Internet » Python »

Como sobreescribir un modulo de python

Estas en el tema de Como sobreescribir un modulo de python en el foro de Python en Foros del Web. Digamos por ejemplo que quiero ejecutar un modulo que venía con el interprete de Python pero que alguien mejoró, cuando lo quiero ejecutar el interprete ...
  #1 (permalink)  
Antiguo 19/01/2012, 13:37
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 5
Como sobreescribir un modulo de python

Digamos por ejemplo que quiero ejecutar un modulo que venía con el interprete de Python pero que alguien mejoró, cuando lo quiero ejecutar el interprete inmediatamente le da preferencia al que viene instalado, como modificar el PATH desde un script para que encuentre y ejecute mi módulo?
PD No quiero borrar o modificar el que ya tenia.
  #2 (permalink)  
Antiguo 19/01/2012, 14:18
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Como sobreescribir un modulo de python

Eso suena peligroso, por que no simplemente ponerle otro nombre al modulo y ya?

Para ver la ruta del modulo puedes hacer un "modulo.__file__".

Por cierto que modulo es?
  #3 (permalink)  
Antiguo 19/01/2012, 14:37
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 5
Respuesta: Como sobreescribir un modulo de python

Cita:
Iniciado por razpeitia Ver Mensaje
Eso suena peligroso, por que no simplemente ponerle otro nombre al modulo y ya?

Para ver la ruta del modulo puedes hacer un "modulo.__file__".

Por cierto que modulo es?
No, lo que busco es mas bien compartir un programa con una version de python modificado excepto que cuando el script es ejecutado y el usuario tiene instalada otra version de python este llama a los modulos definidos en el path.
  #4 (permalink)  
Antiguo 19/01/2012, 19:25
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como sobreescribir un modulo de python

Python busca los módulos en los directorios definidos en sys.path, en orden.

Lo que querés es simple. Suponiendo
- que querés sustituir el módulo "urllib"
- que tu programa está en la carpeta "/home/shujidan" (y que lo ejecutás desde allí)
- y que tu módulo modificado está en la carpeta "/home/shujidan/urllib"

basta con que, al principio de tu programa (y por supuesto antes de importar urllib) modifiques el sys.path de tal forma que la carpeta /home/shujidan aparezca antes que la carpeta global de Python. Una forma rápida y sucia es:

sys.path.insert(0, "/home/shujidan")


Saludos.
  #5 (permalink)  
Antiguo 21/01/2012, 12:57
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 5
Respuesta: Como sobreescribir un modulo de python

Por el momento me voy por la opción de py2exe porque puedo empaquetar todo en un archivo aunque tuve que descargar la version 2.7. PD. Es bueno saber que tambien existe esta opcion, se te agradece tu respuesta.

Etiquetas: modulo, sobreescribir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:47.