Как импортировать пользовательскую библиотеку 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