Pywho — удобный CLI‑инспектор для Python‑окружения: одной командой показывает, какой интерпретатор и venv запущены, куда смотрит
sys.path, куда реально резолвятся импорты.pywho выводит интерпретатор (путь, версия, архитектура), активный venv (тип: venv/virtualenv/uv/conda/poetry/pipenv и т.п.), пути site-packages, менеджер пакетов (pip/uv/conda/poetry/pipenv/pyenv) и полный sys.path.Есть режим
pywho --json и pywho --packages (список установленных пакетов с версиями и путями) для CI/issue‑репортов.pywho trace <module> показывает, из какого файла реально грузится модуль, его тип (stdlib/third-party/local), кэширован ли он и какой порядок поиска по sys.path был использован.- Поиск шадоу‑модулей по проекту
pywho scan . проходит дерево проекта и находит файлы, которые шадовят модули stdlib или установленные пакеты, с градацией по важности: HIGH (stdlib), MEDIUM (third-party).Стандартные мусорные директории вроде
.venv, __pycache__, node_modules, dist, build, .git автоматически игнорируются.Можно использовать как библиотеку:
-
inspect_environment() — объект с инфой про интерпретатор, venv, менеджер пакетов, пути, плюс to_dict() для JSON. -
trace_import("name") — программный аналог pywho trace с полями resolved_path, module_type, is_cached, shadows. -
scan_path(Path(".")) — результаты сканирования на шадоу с уровнем серьёзности.- “Works on my machine” debug: попросить пользователя выполнить
pywho --json --packages и приложить результат к issue или в чат.- Онбординг:
pywho для быстрой проверки, что окружение настроено как надо. - CI:
pywho --json --packages > env.json как снимок окружения сборки.#python #pywho #debugging #virtualenv #asyncio #packagemanagement #devtools #cli #stdlib #import #shadowing
https://github.com/AhsanSheraz/pywho
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - AhsanSheraz/pywho: One command to explain your Python environment, trace imports, and detect shadows.
One command to explain your Python environment, trace imports, and detect shadows. - AhsanSheraz/pywho
1🔥3 2👍1