국문과 유목민

[VSCode] Pylance report missing module source 해결방법 본문

IT 견문록/Error Collecting

[VSCode] Pylance report missing module source 해결방법

논곰 2022. 2. 25. 00:23

Pylance report missing module source

 VSCode에는 Go To Definition이라는 좋은 기능이 있다. 'F12'나 'Ctrl+(마우스)Click'으로 import한 파일로 바로바로 넘어갈 수 있는 아주 유용한 기능이다.("alt + ←: 이전 위치 돌아가기" 와 같이 활용하면 좋다) 이 기능을 Local환경에서 유용하게 사용하고 있었는데, 어째서인지  원격서버 환경에서 실행이 안되는 문제가 발생했다. 따라서 이를 해결하기 위한  방법을 찾다가 알게 되어 이렇게 정리하게 되었다. 

1) import한 모듈 자체를 인식하지 못하는 경우

 위의 이미지를 보면 argparsejson과 같은 모듈들은 어느정도 import가 잘 되어있는 것을 확인할 수 있다. 하지만 처음에는 아예 모듈을 인식조차 하지 못했었다. 방법을 찾다가 extensions를 통해 Python을 설치해주면서 문제를 해결할 수 있었다. 

2) Pylance report missing module source

 Extension을 통해 Python을 설치했지만, 어째서인지  torch나 torchvision, numpy, PIL과 같은 일부 라이브러리에서는 "Import "torchvision.transforms" could not be resolvedPylancereportMissingImports 다음과 같은 에러 메세지가 나며, Go To Definion 기능이 안 됐다(사실 torch 내부 코드 보려고 쓰는 건데...)

Pylance report missing module source

config파일 바꾸는 경우가 해결방법으로 많이 나왔는데 나한테는 잘 적용이 안됐었다. 그러던 도중 다음 블로그(https://incomeplus.tistory.com/187)에서 해결방법을 찾을 수 있었다. 아래와 같은방법을 통해서 문제를 해결할 수 있다. 

  1. Ctrl+Shit+P를 통해 Python: Selectet Interpreter를 선택한다.
  2. 현재 설정된 환경의 Python.exe를 선택한다.

 내 경우에는 recommended 밑에 3.8.5로 설정했는데, numpy라이브러리를 재설치했었을 때 Python 3.8.5에 설치가 되는 것을 확인했었다. 아니면 Kernel에 which python을 쳐보면 현재 python의 경로를 확인할 수 있다. 

Python: Selectet Interpreter

아무튼 다음과 같이 설정을 하고나면, 얼마 안 가서 위와 같은 오류가 해결되었음을 확인할 수 있다. 

편안...