Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/07/2011, 13:31
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Import en Python

Esta apunto de escribir una respuesta similar pero decidi intentarlo antes en mi ubuntu.

Lo que pasa es que existe un modulo llamado uno que (la verdad no se si este por default) pero resulta que lo tenia instalado.

Esto es una colisión entre módulos. Pero para este ejemplo voy a necesitar explicar el path de python.

Python busca un modulo de una manera bastante común, nada de magia ni nada por el estilo.

Explicación:
Python tiene algo llamado PATH, lo puedes encontrar en el paquete sys, es una lista que se llama path.

Ahora cada vez que tu intentas importar un archivo lo que hace es recorer el path en búsqueda de un modulo. Así que empieza en sys.path[0], luego sys.path[1] hasta sys.path[-1]

Ahora si yo tengo mi path de la siguiente marea:
sys.path = ['/ruta/1', '/ruta/2']
Si tuviera un modulo llamado uno.py en /ruta/1 y /ruta/2 obviamente agarraría el modulo uno.py de /ruta/1 y no vería que existe otro archivo llamado uno.py en /ruta/2.

Y esto es exactamente lo que esta pasando.

Para arreglar eso (bajo tu propio riesgo) es insertar tu path en la primera posición.
Ejemplo:
Código Python:
Ver original
  1. import sys
  2. sys.path.insert(0, "ruta donde esta el archivo uno.py")
  3. import uno