videocapture thread serial python3 markercluster has attribute python

python - serial - module object has no attribute thread



módulo no tiene atributo (3)

Tengo un directorio con un número de archivos .py en él. Cada archivo define algunas clases. También tengo un __init__.py vacío en el directorio.

Por ejemplo:

myproject __init__.py mymodule __init__.py api.py models.py views.py

Estoy intentando importar mymodule y acceder a las clases definidas en todos estos archivos:

from myproject import mymodule print mymodule.api.MyClass

Me da un error diciendo que mymodule no tiene atributo api . ¿Por qué? ¿Y por qué puedo acceder solo a uno de los archivos ( models.py ) y no a los otros?

In [2]: dir(banners) Out[2]: [''__builtins__'', ''__doc__'', ''__file__'', ''__name__'', ''__package__'', ''__path__'', ''models'']


El problema es que los submódulos no se importan automáticamente. Tienes que importar explícitamente el módulo api :

import myproject.mymodule.api print myproject.mymodule.api.MyClass

Si realmente insiste en que la api esté disponible al importar myproject.mymodule , puede poner esto en myproject/mymodule/__init__.py :

import myproject.mymodule.api

Entonces esto funcionará como se espera:

from myproject import mymodule print mymodule.api.MyClass


Los módulos no funcionan así.

from myproject.mymodule import api print api.MyClass


También necesita un __init__.py en el directorio myproject. Entonces tu estructura de módulo debería ser:

myproject __init__.py mymodule __init__.py api.py models.py views.py