Модуль кода Python Visual Studio не найден

Установили Python 3.7.6 и пытаюсь написать код в Visual Studio Code

С помощью: import pikepdf

Получает мне ошибку ModuleNotFoundError: No module named 'pikepdf'

Однако я запускаю "pip install pikepdf" и получаю:

Требование уже выполнено: pikepdf в c:\users\ME\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (1.8.2) Требование уже выполнено: lxml>=4.0 в c: \ users \ ME \ appdata \ local \ packages \ pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0 \ localcache \ local-packages \ python37 \ site-packages (из pikepdf) (4.4.2)

Мой путь установки Python:C:\Users\ME\AppData\Local\Programs\Python\Python38

И попытка что-то изменить в "Python: Python Path" вызывает у меня больше ошибок.

3 ответа

Проблема заключалась в том, что Visual Studio Code поставляется с собственной версией Python, а я установил свою.

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

Вы можете проверить, в какой среде используется ваш VSCode. Вы можете сделать это, проверив свой левый нижний угол, здесь: изображение кода Visual Studio.

Когда вы запускаете свой код, вы используете python или python3.7?

Эта проблема также может возникнуть при отладке скрипта Python из Visual Studio Code. Если вы хотите импортировать локальный файл Python, отладчик не сможет его найти. Решение состоит в том, чтобы загрузить модуль по пути:

      path = os.path.abspath(os.path.join(pathlib.Path(__file__).parent.absolute(), '..', 'subdir', 'myFile.py'))
loader = importlib.machinery.SourceFileLoader('myFile', path)
spec = importlib.util.spec_from_loader('myFile', loader)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)

# now use the module:
module.myMethod()
myClassInstance = module.myClass()    

Теперь отладка работает нормально, с правильно загруженным моим модулем.

Другие вопросы по тегам