Почему mypy выдает ошибки «импорт не найден» при каждом импорте?Python

Программы на Python
Anonymous
Почему mypy выдает ошибки «импорт не найден» при каждом импорте?

Сообщение Anonymous »

Я пишу простое приложение на Python, используя FastAPI. Я использую pdm в качестве менеджера пакетов, что означает, что у меня есть файл pyproject.toml и файл pdm.lock. Я также использую pyenv для управления обеими версиями Python, установленными в моей системе, а также виртуальными средами. Итак, в данном случае я начал создавать свой проект с выполнения таких команд:
  • pyenv virtualenv 3.12.5 myproject
    < li>pyenv local myproject
  • pdm init min
Затем я последовал подсказкам, которые дает pdm, чтобы передать мой проект имя и установить различные зависимости (например, FastAPI, uvicorn и т. д.). Теперь я пытаюсь запустить mypy ., но он жалуется практически на каждый имеющийся у меня оператор импорта. Вот полный текст ошибки:

Код: Выделить всё

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)
Я не знаю, как устранить эти ошибки. Я знаю, что мог бы просто создать файл mypy.ini с этим содержимым, чтобы эффективно игнорировать ошибки такого типа:

Код: Выделить всё

[mypy]
ignore_missing_imports = True
Однако это кажется плохой практикой, поскольку я бы предпочел понять, почему mypy показывает эти ошибки и как я могу исправить ситуацию. Мой код может работать успешно (тем самым демонстрируя, что импорт работает), и если я запущу pip list, я смогу четко видеть все зависимости, установленные в виртуальной среде (которой управляет pyenv). Так почему же у mypy такие проблемы с этим же импортом?

Подробнее здесь: https://stackoverflow.com/questions/790 ... gle-import

Вернуться в «Python»