Перейти к содержанию

Обнаружение модулей

Модули первого уровня (first-party)

Модули первого уровня — это файлы Python, которые являются частью исходного кода вашего проекта.

По умолчанию ty ищет такие модули в корневом каталоге проекта или в каталоге src, если он существует.

Если в вашем проекте используется иная структура, настройте параметр environment.root проекта в файле pyproject.toml или ty.toml. Например, если код проекта находится в каталоге app/:

example-pkg
├── README.md
├── pyproject.toml
└── app
    └── example_pkg
        └── __init__.py

тогда задайте environment.root в pyproject.toml как ["./app"]:

pyproject.toml

[tool.ty.environment]
root = ["./app"]

Обратите внимание, что каталог ./python автоматически добавляется к root проекта, если он существует и сам не является пакетом (то есть не содержит файл __init__.py или __init__.pyi).

Сторонние модули (third-party)

Сторонние модули — это пакеты Python, которые не входят ни в ваш проект, ни в стандартную библиотеку. Обычно они объявляются как зависимости в файле pyproject.toml или requirements.txt и устанавливаются с помощью менеджера пакетов, такого как uv или pip. Примеры популярных сторонних модулей: requests, numpy, django.

ty ищет сторонние модули в настроенном окружении Python.

Окружение Python

Окружение Python используется для обнаружения сторонних модулей.

По умолчанию ty пытается обнаружить виртуальное окружение.

Сначала ty проверяет наличие активного виртуального окружения через переменную среды VIRTUAL_ENV. Если она не установлена, ty будет искать каталог .venv в корне проекта или рабочем каталоге. В данный момент ty поддерживает обнаружение только виртуальных окружений.

Note

При использовании инструментов управления проектами, таких как uv или Poetry, команда run обычно автоматически активирует виртуальное окружение, и оно будет обнаружено ty.

Окружение Python можно явно задать через параметр конфигурации environment.python или флаг --python.

При явной настройке окружения можно указывать и не‑виртуальные окружения.