Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

508
Vistas
Proper relative imports: "Unable to import module"

I have a project structured like this:

.
└── myapp
    ├── app.py
    ├── models
    │   ├── hello.py
    │   └── world.py
    └── requirements.txt

I have two models, hello and world. Both models are used from app.py where I import them like this:

from models.hello import Hello
from models.world import World

But world also needs to use hello. I tried this in world.py:

from models.hello import Hello

The above technically works when I run the app, but VSCode's Python extension gives me the following error:

E0401:Unable to import 'models.hello'.

What is the proper way of importing a submodule from the same directory? How do I avoid this error in VSCode?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

The error you are receiving is one that's reported by a python linter named pylint. So the problem isn't really specific to the vscode extension.

There are two solutions:

  1. Please try adding an .env file in your project directory with the vape PYTHONPATH=./myapp, this will tell pylint where to find your modules

  2. Or just open the folder myapp in vscode directly instead of opening the parent directory in vscode.

over 4 years ago · Santiago Trujillo Denunciar

0

The error is coming from pylint. You need to add this line into settings.json file (VS Code):

"python.linting.pylintArgs": ["--init-hook",
        "import sys; sys.path.append('<absolute path to myapp directory>')"],
over 4 years ago · Santiago Trujillo Denunciar

0

Since hello.py and world.py are in the same folder (aka package), you should import the Hello class in world.py as follow:

from .hello import Hello

As described in this thread: What does a . in an import statement in Python mean?

The . is here to indicate the import from the current package.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda