웹 애플리케이션을 빌드하는 경우 Python을 WSL에 설치하는 것이 좋다.
Python 웹 개발에 대한 많은 자습서와 지침은 Linux 사용자를 위해 작성되었으며,
Linux 기반 패키징 및 설치 도구를 사용한다.
대부분의 웹앱은 Linux에도 배포되므로 개발 환경과 프로덕션 환경 간에 일관성을 유지할 수 있다.
하지만 현재 나의 OS는 Windows이다.
Linux를 사용하게 되면 VMware와 같은 virtual machine을 사용하게 되고
개인적으로 사용하는데 제한적인 부분이 많아서 불편했다.
역시 맥북사는게 답이구만...
그래도 아직 멀쩡한 노트북이니깐 이를 최대한 활용하기 위해
Windows에서 ubuntu를 사용하고 VScode와 연동할 수 있는 WSL을 인용하기로 마음먹었다.
여기서 내가 이해한 내용을 적을 것이기에 아래 링크만 참고해도 충분 ▼
docs.microsoft.com/ko-kr/windows/python/web-frameworks
code.visualstudio.com/docs/remote/wsl
WSL 설치가 어렵다면!!
nomadcoders.co/windows-setup-for-developers/lobby
이슈!!!!
WSL의 설치와 설정만 완료된 상태에서 VScode의 terminal을 열어
Ubuntu로 개발하려 하였는데
가상환경을 만들때에 Windows는 Scripts 폴더에,
Linux는 bin 폴더 activate가 존재한다
여기서 가상환경을 bin폴더가 생성되도록 Ubuntu를 사용하였는데
VScode에서 Ctrl + Shift + P
>> python select interpreter 가 가리키는 python.exe는
Windows의 Users 안에있는 Scripts 뿐이고,
GUI로 선택하려하니 bin폴더를 찾을 수 없다??
그렇다면 정상적으로 빌드를 할 수 없으니
가상환경을 통한 프로젝트 개발이 불가능 한것인가??
자!!
결론부터 얘기하면 생각자체가 틀려먹은 것이었다.
WSL(Linux용 Windows 하위 시스템)을 사용할 때 기억해야 할 중요한 사항은 현재 두 개의 서로 다른 파일 시스템, 즉 1) Windows 파일 시스템 및 2) Linux 파일 시스템(WSL, 여기서는 Ubuntu) 간에 작업하고 있다는 것입니다. 패키지를 설치하고 파일을 저장하는 위치에 주의해야 합니다. Windows 파일 시스템에는 한 버전의 도구 또는 패키지를 설치하고, Linux 파일 시스템에는 완전히 다른 버전을 설치할 수 있습니다. Windows 파일 시스템에서 도구를 업데이트해도 Linux 파일 시스템의 도구에는 영향을 주지 않으며, 그 반대의 경우도 마찬가지입니다. WSL은 컴퓨터의 고정 드라이브를 Linux 배포의 /mnt/<drive> 폴더 아래에 탑재합니다. 예를 들어 Windows C: 드라이브는 /mnt/c/ 아래에 탑재됩니다. Ubuntu 터미널에서 Windows 파일에 액세스하고 해당 파일에서 Linux 애플리케이션 및 도구를 사용할 수 있으며, 그 반대의 경우도 마찬가지입니다. 대부분의 웹 도구가 원래 Linux용으로 작성되어 Linux 프로덕션 환경에 배포되는 경우 Python 웹 개발을 위해 Linux 파일 시스템에서 작업하는 것이 좋습니다. 또한 파일 이름과 관련하여 대/소문자를 구분하지 않는 Windows와 같이 파일 시스템 의미 체계를 혼합하지 않도록 방지합니다. 즉, WSL은 이제 Linux 및 Windows 파일 시스템 간의 이동을 지원하므로 어느 쪽에서든 파일을 호스팅할 수 있습니다.
출처 : docs.microsoft.com/ko-kr/windows/python/web-frameworks
쉽게 풀어서 설명하면 WSL을 설치한 윈도우에는
서로 다른 파일 시스템이 두 개가 존재하며,
이 둘은 서로 분리되어 있어서
연동으로 인한 오류 같은 것이 없다는 것을 의미한다.
(extensions에서 Remote - WSL 을 설치하고)
이제 Linux에서 가상환경 설정하듯 activate를 실행하고
"$code ." 명령어를 실행하면 VScode가 정상적으로 실행된다.
아래와 같이 정상적으로 설정이 이루어 진다.
여기서 이슈에 대한 해결을 할 수 있다.
간단하게 생각하면
현재 VScode와 Ubuntu와의 연동은 이루어 졌다.
그렇다면 Ubuntu의 python을 VScode의 python select interpreter를 설정하면 끝이다.
그렇기에 extensions에서 python을 검색하면
(사실 정확히 뭐라적혀있었는지 까먹음....)
일반 install과 다르게 누가봐도 확장, 연동을 의미하는 install이 뜨게 된다.
extensions 가 이루어 졌다면
VScode에서 Ctrl + Shift + P >> python select interpreter 에서
원하는 경로지정이 이루어지면
아래와 같이 완성이다!!!
이상! 오늘도 감코!
'Server > Django issue' 카테고리의 다른 글
[Django] Git 초기화 & Github 연결 (0) | 2022.08.03 |
---|---|
[Django] Project 초기 세팅 (0) | 2022.08.03 |
[Django] migration 파일은 커밋 되어야 하는가? (0) | 2022.08.02 |
2. 쿠키와 세션 (cookie and session) (0) | 2020.09.23 |
0. Django issue에는 어떤 것들이 있을까? (0) | 2020.09.14 |