Я создал очень простой пакет. Создал папку с именем my_package с помощью mkdir, создал файл init .py в этой папке, а затем создал файл my_modules.py в той же папке.
my_modules.py имеет одну функцию
def hello():
print('Hello')
Я создал скрипт Python (a.py) в VS Code, поместил следующие строки в a.py и запустил a.py.
import sys
sys.path.insert(0, '/path/to/my_package')
from my_package.my_modules import hello
И теперь, даже когда я запускаю интерпретатор python3, импортирую sys и print (sys.path), я вижу путь к my_package в списке sys.path.
Теперь скрипт a.py работает нормально и печатает привет.
Однако,
- pylint показывает предупреждение - Невозможно разрешить my_package.my_modules. IntelliSense может отсутствовать для этого модуля.
В моих настройках VS Code в обоих случаях работают и pylint, и intellisense. Я пытался
- добавить init-hook в .pylintrc (это не помогло удалить предупреждение intellisense)
- для настройки переменной PYTHONPATH.
Ничто из вышеперечисленного не помогло в удалении предупреждения intellisense.
Кстати, когда я скопировал каталог my_package в каталог site-packages моей установки python 3.7, предупреждение исчезло. Копирование в путь к пакетам сайта, по-видимому, является клуджем, поскольку, скорее всего, оно сломается при следующем обновлении Python.
Что мне делать? И я надеюсь, что мой вопрос был ясен. Спасибо.