프론트엔드를 하면서 vscode에서만 작업하다 장고를 배우면서 vim이나 pycharm을 쓰는 것이 너무 어색하고 효휼이 안나 vscode 세팅을 알아봤다.
vscode > extensions > python 설치
python3 --version
버전확인하기
사전 준비를 마쳤다면 vscode에서 파이썬 인터프리터를 선택해야 한다. 장고프로젝트가 있는 루트디렉토리를 열고 준비하자.
cmd+shift+p
cmd+shift+p
단축키로 명령팔레트를 열고 python select interpreter
클릭
python select interpreter
클릭 하면 위의 가상환경 목록이 나타난다.
내컴퓨터에는 장고연습을 위해 가상환경(콘다)를 설치했고, 추가로 만든 가상환경이 몇개 보인다.(conda들어간 것들) 해당 프로젝트에서 사용할 가상환경을 선택하자.
vscode 최하단에 확인하면 python 3.8.2 64-bit ('april07:conda')
라고 가상환경 설정 된 것이 보인다. 또한 프로젝트 루트에 vscode
폴더가 생성되었다. vscode settings.json
이 저장되며, 내용에는 파이썬 가상환경 경로가 지정되어 있다.
vscode에서 파이썬 프로젝트를 하려고 하면 계속 포메터 autopep8이 설치되지 않았다고 뜬다. 얼른 설치해 주자.
autopep8 or yapf 둘중 하나를 선택해 설치하자
pip install pep8
pip install --upgrade autopep8
pip install yapf
2개 다 진행한다.
settings.json에 아래 목록을 추가할 수 있다.
"python.formatting.provider": "yapf"
// or
"python.formatting.provider": "autopep8"
pip install pylint
설치하기
settings.json에 아래 내용 추가
"python.linting.pylintEnabled": true
설치해도 계속 설치팝업이 뜬다면?
위 사진과 같은 오류창이 계속 해서 뜨고 있다.
// settings.json
{
"python.pythonPath": "/Users/hwang/miniconda3/envs/april08v2/bin/python",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true
}
vscode settings.json
에는 위와 같이 린터 설정이 되어 있는데, vscode
가 pylint
를 찾지 못하는 것 같다. 셋팅에 python.linting.pylintPath.
목록을 추가해 주자. 먼저 알아야 할 것은 pylint
가 설치된 경로이다.
나 같은경우엔 miniconda3 디렉토리에 설치되어 있다
"python.linting.pylintPath": "/Users/hwang/miniconda3/bin/pylint"
// 포메터 도 안된다면 똑같은 방식으로 경로를 찾아 붙여 준다.
"python.formatting.autopep8Path": "/Users/hwang/miniconda3/bin/autopep8",
위 코드를 settings.json에 추가하자!
만약 위와 같이 Unable to import 'django.shortcuts' pylint(import-error)
가 계속해서 뜬다면 pylint의 설치 위치 때문인다.
프로젝트를 시작할때 가상환경에 pylint를 설치하고 해당프로젝트의 vscode settings.json을 생성하여 관리를 해주자.(가상환경+프로젝트디렉토리에서 뭔가 설지하고 설정을 했다면 해당파일은 자동으로 생성된다)
가상환경 & 프로젝트 디렉토리에 위치한 상태로 아래 명령어 실행하여 설치
pip install pylint
which pylint
를 통해 pylint의 위치를 확인한다.
나는 /Users/hwang/miniconda3/envs/april08v2/bin/pylint 요렇게 출력되었다. 가상환경에 설치 했음으로 가상환경경로 + bin/pylint 가 추가 된다.
만약 pylint에서 아래와 같은 변수에러가 발생한다면?
vscode 공홈 pylint 설정을 확인하자! vscode settings.json에"python.linting.pylintArgs": [ "--load-plugins", "pylint_django" ]
추가 만으로 해결된다!
// django프로젝트폴더/.vscode/settings.json
{
"python.pythonPath": "/Users/hwang/miniconda3/envs/april08v2/bin/python",
"python.linting.pylintPath": "/Users/hwang/miniconda3/envs/april08v2/bin/pylint",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true
}
"python.linting.pylintPath": "<가상환경경로>/bin/pylint",
요렇게 세팅하면 해결된다.