[mac] vscode에서 python 코드 relative 상대경로 import 하기


from tmp.utils.common import def 이런식으로 상대경로의 폴더안에 있는 파일의 함수를 불러와 쓰고싶을 때가 있습니다.

하지만 vscode 에서는 그냥 해주지 않는다.. 이 경로를 읽어오지 못하기 때문에 launch.json파일에 설정을 해주어야 하는데..!

사실 이 문제때문에 vscode 열심히 쓰다가 힘들어서 pycharm로 갈아탔다가..(박쥐!) 요새 또 pycharm 의 원격접속에 에러가 떠서 vscode로 황급히 수정하면서 이 문제에 다시 직면하기로 하였다.

허헛 🤭 아무튼 사용 방법은 다음과 같습니다!


0. 파일 가정

예를 들어 아래와 같이 폴더와 파일이 구성되어 있다고 가정해보고자 한다.

무제

각각 main.py 와 test.py 는 다음과 같이 간단히 구성해 보았다.

from subFolder2.test import add

print(add(4,5))
def add(a, b):
    
    return a+b

1. launch.json 생성하기

일단 먼저 그냥 실행해보니 역시나 no module 에러가 뜬다.

err

그럼 다시, 아래 화면과 같이 디버거 메뉴를 선택해주면, launch.json 만들기 링크가 보이는데 이걸 클릭해주자!

무제

클릭하면 다음과 같이 창이 뜨는데, 여기서 주의할건 모듈을 선택하여야 한다는 것!

모듈

이름은 실행시킬 파일이름인 main 으로 해주면,

tt

짠! 다음과 같이 json 파일이 생성된다

무제

2. 추가할 내용

여기서 2줄 추가해준다, 바로 “env” 와 “cwd”

“env”는 sys.path.append 와 비슷한 기능이라고 보면되는 것 같다. 여기 디렉토리까지를 기준으로 하게 된다!

“cwd”는 시작시 태스크 러너의 현재 작업 디렉토리를 의미하며, 실행시키는 파일을 기준으로 한다는 뜻으로 현재 열려있는 파일의 디렉토리 경로에서 디버그가 시작될 것이다.

filepath

이 세팅을 완료하면 잘 돌아갈 겁니다! ㅎㅎ

참고

[1] https://blog.naver.com/PostView.nhn?blogId=sjy263942&logNo=222326679448

[2] https://www.youtube.com/watch?v=Ad-inC3mJfU

태그: ,

카테고리:

업데이트:

댓글남기기