soapergem
soapergem

Reputation: 10029

Why is mypy issuing import-not-found errors on every single import?

I am writing a simple Python application using FastAPI. I am using pdm as my package manager which means I have a pyproject.toml file and a pdm.lock file. I also using pyenv to manage both versions of Python installed on my system as well as virtual environments. So in this case, I started off creating my project by running commands like this:

I then followed the prompts that pdm gives to give my project a name, and install various dependencies (e.g. FastAPI, uvicorn, etc.). Now I'm trying to run mypy . but it's complaining about basically every single import statement I have. Here's the full error text:

myproject/routers/transactions.py:1: error: Cannot find implementation or library stub for module named "asapi"  [import-not-found]
myproject/routers/transactions.py:2: error: Cannot find implementation or library stub for module named "fastapi"  [import-not-found]
myproject/routers/transactions.py:3: error: Cannot find implementation or library stub for module named "psycopg_pool"  [import-not-found]
myproject/routers/system.py:1: error: Cannot find implementation or library stub for module named "fastapi"  [import-not-found]
myproject/config/app.py:4: error: Cannot find implementation or library stub for module named "pydantic"  [import-not-found]
myproject/config/app.py:5: error: Cannot find implementation or library stub for module named "pydantic_settings"  [import-not-found]
tests/test_settings.py:3: error: Cannot find implementation or library stub for module named "pytest"  [import-not-found]
tests/test_settings.py:3: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
myproject/config/loggers.py:7: error: Cannot find implementation or library stub for module named "orjson"  [import-not-found]
myproject/config/loggers.py:8: error: Cannot find implementation or library stub for module named "opentelemetry.sdk.resources"  [import-not-found]
myproject/config/loggers.py:9: error: Cannot find implementation or library stub for module named "opentelemetry.trace"  [import-not-found]
myproject/main.py:5: error: Cannot find implementation or library stub for module named "anyio"  [import-not-found]
myproject/main.py:6: error: Cannot find implementation or library stub for module named "asapi"  [import-not-found]
myproject/main.py:7: error: Cannot find implementation or library stub for module named "fastapi"  [import-not-found]
myproject/main.py:8: error: Cannot find implementation or library stub for module named "psycopg_pool"  [import-not-found]
Found 14 errors in 6 files (checked 7 source files)

I am not sure how to overcome these errors. I know that I could simply create a mypy.ini file with this as its contents to effectively ignore these types of errors:

[mypy]
ignore_missing_imports = True

However, that seems like bad practice as I would much rather understand why mypy is showing these errors and how I can go about fixing the situation. My code is able to run successfully (thus demonstrating that the imports work), and if I run pip list I can clearly see all of the dependencies installed within the virtual environment (which pyenv is managing). So why is mypy having so much trouble with these same imports?

Upvotes: 0

Views: 515

Answers (0)

Related Questions