VSCode / Pylint сообщает модуль win32event как неразрешенный импорт, когда модуль установлен - PullRequest
0 голосов
/ 03 июля 2019

Это немного раздражает, но о модулях pywin32 сообщается как о неразрешенном импорте из-за python linter в VSCode.

У меня установлен pywin32, и я могу импортировать модули в терминальную сессию и при запуске сценария.

Мой python.pythonPath правильно установлен в моем settings.json.

Линтер просто не может найти модули.

Но если я использую следующий синтаксис, то линтер работает, но импорт, очевидно, не выполняется во время выполнения.

import win32.lib.win32event

Любые идеи о том, как я могу "сделать" VSCode или линтер для правильного импорта?

1 Ответ

1 голос
/ 03 июля 2019

Pylint имеет файл конфигурации, загруженный переключателем командной строки --rcfile. Одна из записей в файле конфигурации - ignored-modules=.Строка комментария описывает эту опцию как «список имен модулей, для которых атрибуты члена не должны проверяться».Есть несколько других похожих параметров.

Эти параметры необходимы, потому что pylint является средством проверки статического типа, то есть он не загружает модуль, а просто проверяет его исходный код.В случае такого модуля, как коллекция win32, он использует файлы .dll, которые pylint не может проверить.Следовательно, Pylint не может выяснить, какие имена отображаются в win32.Поэтому лучшее, что вы можете сделать, это сказать Pylint о подавлении сообщений об ошибках.

...