При использовании VSCode Pylance многие предложения по импорту отсутствуют при работе в этих условиях:
- Пакет установлен локально (в редактируемом режиме)
- Я работаю в отдельном каталоге
- Исходный пакет не содержит __init__.py верхнего уровня
То есть предположим, что я клонирую Python репозиторий github и установите его в редактируемом режиме:
Код: Выделить всё
cd C:/work
git clone https://github.com/theskumar/python-dotenv
pip install -e .
При работе в том же каталоге, что и редактируемый пакет (то есть C:/work/python-dotenv), VSCode/Pylance предложит импортировать все. Но если я перейду в другую папку и попытаюсь что-то импортировать:
Код: Выделить всё
x = get_cli_string()
x = with_warn_for_invalid_lines()
Я добавил соответствующий путь к Python > Analysis > Package Index Depths. Даже в этом случае pylance находит только верхнюю часть импорта. Похоже, что по умолчанию Pylance находит только элементы, экспортированные __all__. Однако не всегда возможно настроить __all__, особенно в пакетах пространства имен, где __init__.py верхнего уровня не разрешен.
Как я могу указать Pylance находить импортируемые файлы во всем пакете, как если бы я работал в том же каталоге, что и сам пакет?
Ожидаемое поведение: импорт доступен из меню быстрого исправления (как в
этом примере)
Подробнее здесь:
https://stackoverflow.com/questions/796 ... e-director