안녕하세요. 카이랏입니다.
이번에는 지난 번의 내용과 이어지는 내용입니다.
우리가 최신 버전의 python을 사용할 경우에 venv로 가상 환경을 꾸미고 개발을 하는 경우가 있습니다.
따라서 이에 대한 내용을 한 번 알아보고자 합니다.
1. 새로운 러너(runner) 만들기
먼저 기존에 AWS에서 제공하는 러너가 아닌 새로운 러너를 만들어야 합니다.
[Run] - [Run With] - [New Runner] 로 들어가서 새로운 러너를 만듭니다. 그러면 자동으로 My Runner 라는 파일이 생기는 것을 알 수 있습니다. 이 내용을 일단 먼저 저장합니다. 그 후 [Run] - [Run With] - [My Runner] 항목을 클릭해서 해당 파일을 실행시키고 나서 바로 멈춥니다. 그렇지 않으면 My Runner에 내용이 아직 없기에 에러가 발생합니다.
2. Runner 편집
이 후 Runner를 편집하도록 합니다. 이 때 My Runner 에 venv 로 만든 가상 환경으로 코드를 실행하는 기능을 구현할 것입니다. 붉은색 상자 안의 "Edit Runner"를 클릭합니다.
이 후 아래와 같은 내용으로 편집을 진행합니다.
// This file overrides the built-in Python 3 runner
// For more information see http://docs.aws.amazon.com/console/cloud9/change-runner
{
"script": [
"if [ \"$debug\" == true ]; then ",
" /home/ubuntu/environment/myenv/bin/python -m ikp3db -ik_p=15471 -ik_cwd=$project_path \"$file\" $args",
"else",
" /home/ubuntu/environment/myenv/bin/python \"$file\" $args",
"fi",
"checkExitCode() {",
" if [ $1 ] && [ \"$debug\" == true ]; then ",
" /home/ubuntu/environment/myenv/bin/python -m ikp3db 2>&1 | grep -q 'No module' && echo '",
" To use python debugger install ikpdb by running: ",
" sudo yum update;",
" sudo yum install python36-devel;",
" sudo source /home/ubuntu/environment/myenv/bin activate",
" sudo pip-3.6 install ikp3db;",
" sudo deactivate",
" '",
" fi",
" return $1",
"}",
"checkExitCode $?"
],
"python_version": "/home/ubuntu/environment/myenv/bin/python",
"working_dir": "$project_path",
"debugport": 15471,
"$debugDefaultState": false,
"debugger": "ikpdb",
"selector": "^.*\\.(py)$",
"env": {
"PYTHONPATH": "$python_path"
},
"trackId": "/home/ubuntu/environment/myenv/bin/python"
}
여기서 중요한 내용은 "/home/ubuntu/environment/myenv/bin/python" 이 항목입니다. 이것이 현재 저에게 설정된 venv 가상 환경 안에서의 python 실행 명령입니다. 따라서 이 경로를 잘 작성하시면 됩니다. 이 내용을 My Runner에 저장하고 실행하면됩니다.
3. 실행이 되지 않을 경우
이렇게 모든 것을 했음에도 불구하고 디버거가 잘 작동하지 않을 경우라면 AWS Cloud9 환경을 reboot 하면 됩니다. 아래의 내용으로 리부팅을 시도하면 작동할 것입니다.
sudo reboot
여기까지 가상 환경으로 debugging 하는 방법에 대해서 이야기하였습니다.
'Tech' 카테고리의 다른 글
yt-dlp 를 이용, 유튜브에서 mp3 파일 다운로드 오토메이터 (Automator for downloading mp3 files from YouTube using "yt-dlp") (3) | 2024.12.23 |
---|---|
youTube-dl 로 mp3 파일 다운로드 시 파일명 문제 해결 (0) | 2024.01.27 |
AWS Cloud9 IDE에서 python 파일 디버깅(debugging) 하는 방법 (0) | 2023.05.06 |
우분투에서 git private repository를 가져오는 방법 (0) | 2023.05.06 |
AWS Cloud9 IDE에서 Python3.9 설치하기 (0) | 2023.05.06 |