Server/Django issue

1. 나 이제 윈도우에서 우분투로 개발할래(WSL과 VScode)

개발자킹콩 2020. 9. 14. 19:08

웹 애플리케이션을 빌드하는 경우 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

 

Windows에서 Python을 사용한 웹 개발

Flask 및 Django와 같은 프레임워크 설정을 포함하여 Windows에서 웹 개발을 위해 Python 사용을 시작하는 방법입니다.

docs.microsoft.com

code.visualstudio.com/docs/remote/wsl

 

Developing in the Windows Subsystem for Linux with Visual Studio Code

Using Visual Studio Code Remote Development with the Windows Subsystem for Linux (WSL)

code.visualstudio.com

 

 

WSL 설치가 어렵다면!! 

nomadcoders.co/windows-setup-for-developers/lobby

 

Watch Now - 노마드 코더 Nomad Coders

 

nomadcoders.co

 

 

 

 

이슈!!!!

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폴더를 찾을 수 없다??

그렇다면 정상적으로 빌드를 할 수 없으니

가상환경을 통한 프로젝트 개발이 불가능 한것인가??

 

 

 

 

 

자!!

결론부터 얘기하면 생각자체가 틀려먹은 것이었다.

출처 : https://code.visualstudio.com/docs/remote/wsl

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

 

Windows에서 Python을 사용한 웹 개발

Flask 및 Django와 같은 프레임워크 설정을 포함하여 Windows에서 웹 개발을 위해 Python 사용을 시작하는 방법입니다.

docs.microsoft.com

 

 

쉽게 풀어서 설명하면 WSL을 설치한 윈도우에는

서로 다른 파일 시스템이 두 개가 존재하며,

이 둘은 서로 분리되어 있어서

연동으로 인한 오류 같은 것이 없다는 것을 의미한다.

Terminal에 커스터마이징 입힌거니 오해하지 마시오

 

 

(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 에서 

원하는 경로지정이 이루어지면

아래와 같이 완성이다!!!

왼쪽하단에 위치해 있다

 

 

 

이상! 오늘도 감코!