새소식

Dev record

vscode python 실행 경로 설정하기, launch.json 수정하기

  • -
반응형

ROS를 사용할 때 대부분 vscode에서 코드를 작성하기는 했지만 실행은 대부분 terminal에서 사용을 하다보니 문제가 없었는데

정작 vscode에서 실행을 하다보면 연관된 파일들의 경로를 잘 못찾는 경우가 많았다.

특히 docker 환경을 쓰게되면 더더욱 경로가 꼬이는 경우가 많았고 실행을 하면 파일이 없다고 자꾸 말한다.(젠장)

초반에 뭐가 잘못되어있는지 잘 몰라서 엄청 헤맸던 기억이 난다.

vscode가 어떻게 동작하는지 알면 쉽게 해결된다.

예를 들어 위와 같이 폴더 및 파일을 구성했다고 해보자.

Desktop / folder_1 / folder_1_1 / test_1_1.py

로 구성을 했고 test_1_1.py 파일을 실행한다고 해보자.

그리고 현재 경로를 확인하기 위해 os.getcwd() 를 출력하면 다음과 같다.

https://barrer.tistory.com/66

 

python에서 현재 실행 경로 확인하기

터미널에서 현재 파일이 실행이 되는 경로를 확인하는 방법 간혹 vscode와 같이 interpreter를 사용할 경우 파일이 실행되는 경로와 interpreter에서 설정된 경로가 다른 경우가 종종 발생한다. 이때 현

barrer.tistory.com

 

 

 현재 실행하고 있는 파일의 경로는 /home/eddy/Desktop/folder_1/folder_1_1/test_1_1.py 인데 정작 현재 경로를 출력해보니

/home/eddy/Desktop 가 나온다. (당황)

이는 vscode에서 처음 폴더를 열었을 경우 그때의 최상위 폴더 기준으로 설정되기 때문이다.

이를 위해서 우측에 Run and Debug 를 설정해주면 된다. 삼각형과 벌레 모양이 있는 아이콘을 클릭하면 다음과 같이 나온다.

여기서 create a launch.json file 이라고 적힌 글자를 클릭하면 다음과 같은 선택창이 열린다.

 

Debug Configuration 이라고 나오면 Python File 을 선택한다.

 

그러면 다음과 같은 launch.json 파일이 열린다.

여기에 다음과 같은 코드를 추가한다.

"cwd": "${fileDirname}"

윗 줄에 콤마 빼먹지 말 것!

이렇게 수정을 한 다음 저장을 하고 아까의 파일을 다시 실행해보자.

기존에는 현재 경로를 os.getcwd()를 이용해 출력했을 때

/home/eddy/Desktop 라고 나왔다면, launch.json 파일을 수정했더니

/home/eddy/Desktop/folder_1/folder_1_1 와 같이 실제 파일이 있는 경로로 수정된 것을 볼 수 있다.

별것 아닌데 모르면 정말 고통스러운 부분이다!

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.