12/10/2011, 08:40
|
| | Fecha de Ingreso: agosto-2010 Ubicación: Montevideo
Mensajes: 59
Antigüedad: 14 años, 4 meses Puntos: 0 | |
Respuesta: ImportError: No module named .. Linux Te comento con mas detalle que me esta pasando: El error que sale por consola es el siguiente: ImportError: No module named miClase.
Esto pasa cuando realizo un import de una de mis clases que se encuentra en mi package (nombre "Motor"), en alguna de mis clases que están dentro del package que tengo (se entiende?), paso a detallar un poco mas:
El main que se encuentra en la raiz (src), tiene el siguiente código:
# ------------- INICIO IMPORT ------------- #
from Motor.VentanaPrincipal import VentanaPrincipal
import logging
# -------------- FIN IMPORT --------------- #
if __name__ == '__main__':
logging.basicConfig(filename='logMotor.log',level= logging.DEBUG)
logging.info('Se inicia el archivo EjecutarAplicacion Correctamente')
venPrin = VentanaPrincipal ()
logging.info('Se Crea la ventana principal Correctamente')
Hasta aquí todo bien!, el import lo hace correcto y sigue ejecutando el main (comprobado por el archivo log), luego cuando se crea venPrin se llama a la clase VentanaPrincipal que se encuentra en el package "Motor", y el código de la clase ventanaPrincipal es el siguiente:
# ------------- INICIO IMPORT ------------- #
import pygame
from pygame.locals import *
from Motor.XML import XML
# -------------- FIN IMPORT --------------- #
Pongo solo el import porque comprobe mediante un log que se cae cuando realiza el import from Motor.XML import XML, además del obvio msj que me aparece en consola que todo indica que es cuando realiza el import de la clase XML. (aclaro que tengo otras clases ademas de XML y alterne el orden para ver si el problema era una clase en especifico, pero no, ya que cuando explota cuando llama a cualquiera de mis clases)
Me esta dando el error de ImportError: No module named XML, o sea no puede importar la clase XML que se encuentra en el mismo package que VentanaPrincipal.
La estructura de mi proyecto es la siguiente:
-- src
-----main.py (ubicado en src)
---------- Motor (package)
----------------------- XML.py (dentro de Motor)
----------------------- VentanaPrincipal.py (dentro de Motor)
Lo que pude ver es que no tengo problema cuando realizo un import desde fuera del package, como te comente la clase main hace un import de VentanaPrincipal (from Motor.VentanaPrincipal import VentanaPrincipal) y no hay problema, es mas sigue ejecutando el código, pero el problema aparece cuando dentro del package hago un impor de una clase que también esta en el package (from Motor.XML import XML), acá explota.!! Por ahí viene el problema pero no me doy cuenta bien porque pasa esto?, ya que en Windows funciona sin problemas pero en linux no. Espero haberme explicado mejor, gracias por la ayuda!! :) |