Как импортировать пользовательскую библиотеку python в vs code, чтобы pylance "видел" её вместе с аргументами функций?

Кратко о проблеме:

  • Я хочу, чтобы моя пользовательская библиотека на языке python была в одном единственном экземпляре (чтобы в случае изменений мне не приходилось копировать её во все другие расположения) и лежала по адресу C:\Users\admin\MHCD\GitHub\Vova_Gary_and_Me\mhcd_functions\custom_library.
  • При этом я ожидал, что видел бы в VS Code подсказки pylance при вводе аргументов функций из этой библиотеки, подобные тем, что появляются при вводе аргументов функций стандартных библиотек, типа pandas, openpyxl и т.п.
  • Вместо этого я получил "криво" импортированную, но рабочую пользовательскую библиотеку. Её функции выполняются при запуске блокнотов (.ipynb-файлов), но желанных подсказок от pylance я не получаю.
  • Сообщения об ошибках, которые я наблюдаю:
    • Import "mhcd_library" could not be resolved Pylance(reportMissingImports)

    • "any_function_from_mhcd_library" is not defined Pylance reportUndefinedVariable

Что я пробовал:

  • Класть пользовательскую библиотеку непосредственно в каталог с блокнотом и импортировать её без использования модуля sys (весь код приведу ниже). Это решает проблему с pylance, но идёт вразрез с моими целями. Мне не нужно 100500 копий одной библиотеки.

Что я не пробовал:

  • Под сообщением об ошибке можно найти следующую подсказку:

    add "C:\Users\admin\MHCD\GitHub\Vova_Gary_and_Me\mhcd_functions\custom_library" to extraPaths

    но я не знаком с extraPaths, поэтому не стал пробовать.

Минимально необходимый код:

# начало блокнота с использованием модуля `sys`, папка с блокнотом
# "C:\Users\admin\MHCD\", целевой файл
# "C:\Users\admin\MHCD\GitHub\Vova_Gary_and_Me\mhcd_functions\custom_library\mhcd_library.py":

import sys
sys.path.append(r'C:\Users\admin\MHCD\GitHub\Vova_Gary_and_Me\mhcd_functions\custom_library')
from mhcd_library import *

a = any_function_from_mhcd_library(parameter_1=1, parameter_2=2)


# -------------------------------------------------------------------------------------------

# начало блокнота без использования модуля `sys`, папка с блокнотом
# "C:\Users\admin\MHCD\", целевой файл
# "C:\Users\admin\MHCD\mhcd_library.py":

from mhcd_library import *

a = any_function_from_mhcd_library(parameter_1=1, parameter_2=2)


# -------------------------------------------------------------------------------------------

# начало пользовательской библиотеки "mhcd_library.py":

def any_function_from_mhcd_library(parameter_1, parameter_2):
    res = parameter_1 + parameter_2
    return res

Ответы (0 шт):