<
윈도우에서 WSL을 이용한 VSCode 개발환경 세팅
>
上一篇

keras 제네레이터를 써보자
下一篇

Tensorflow 2.0 정리

주의

사실 딥러닝 개발환경 세팅을 하려고 한건데 아직 WSL에선 GPU 지원이 되질 않는다네요 ㅠㅠ
아래글은 그냥 WSL에서 vscode 사용까지만 보시는게…
WSL에서 Window에 설치된 Python을 이용하여 하는방법도 있긴한데 이걸할거면 굳이 WSL을 하지말고 그냥 윈도우에 설치하는게… 그냥 멀티부팅하자…

WSL

저번에 포스팅 한적이 있는데 윈도우에서 리눅스를 사용하게 해주는 프로그램으로 가상머신에 비해 가볍고 좋다고한다
기본적으로 폴더 공유도 가능하고
자세한 기능은 저도 모릅니다 그냥 써요 ㅠㅠ

사용법은

제어판 - 프로그램 - Windows 기능 켜기/끄기 - Linux용 Windows 하위 시스템 체크 - 재부팅

01

간단하네요

그리고 Microsoft Store 에서 원하는 리눅스를 검색 (아직 Centos 는 없답니다 ㅠㅠ)
저는 우분투를 골랐네요 그냥 설치 누르시면 알아서 깔려요

그럼 끗

실행해보면 리눅스 쉘 화면이뜨는데 폴더가 완전히 다른데요
윈도우에서의 폴더에 접근하러면 /mnt 폴더에 들어가보면
자신의 드라이브를 볼 수 있네요

자신의 기본드라이브 (/home/<사용자명>) 에서

$ ln -s /mnt/<자신의 작업드라이브> <바로가기명>
$ cd <바로가기명>

으로 바로가기를 생성하면 편하게 접근 가능하죠

Python

제 고민은 여기서 발생했죠 기본적으로 VSCode를 사용하니 윈도우가 편한데 기본적으로 파이썬이나 Jekyll은 리눅스가 편하고 심지어 리눅스에서만 작동하는 라이브러리도 나오고 이걸 양쪽에서 쓰려니 양쪽에 파이썬을 다깔아야하고 패키지도 중복설치가 되겠고 심지어 Cuda 처럼 몇기가 단위의 프로그램도 중복으로 깔려야 한다는거…?

그래서 윈도우에서 이 리눅스에 깔린 파이썬 인터프리터를 사용할 순 없을까 해서 찾던중 발견했네요 (참조 주소는 아래에 표시) VSCode의 베타버전인 VSCode-insiders에 이 기능이 있다는것! 언젠간 정식버전도 지원하겠죠?

일단 설치를 해봅시다

VSCode insider

https://code.visualstudio.com/insiders/

그냥 들어가서 윈도우용으로 설치하시면됩니다

설치 후

이 버튼을 누르시면 추가 기능 설치가 가능한데요 여기서
Remote Development
이것을 설치하시면 됩니다

그리고 리눅스와 VSCode를 전부 꺼줍니다

이제 다시 리눅스를 켜주신 후 (껏다 키지 않으면 명령을 못찼습니다)

$ code-insiders .

를 쳐주시면(뒤에 점 빼먹으면 안됩니다 ㅠ) 뭔가를 설치 후 실행하죠

잘보시면 왼쪽 아래 구석부분이 이렇게 변한게 보이면 성공!


이제 다시 이걸 클릭하시고 Python을 쳐주시면
그냥 install 대신 install on WSL 이란 버튼이 뜰겁니다
이걸 설치해주시면 리로드가 필요하다고 뜨고 눌러주시면 됩니다

이제 기본환경 완성! 이제 아무거나 .py 파일을 하나 만드시고 1+1 같은 거 하나 써주신담에 Shift + Enter 를 누르시면 되는데

도중에 오른쪽아래에 인터프리터니
쉬프트엔터를 어떤걸로 사용하겟느니 여러가지뜹니다
자세한건 너무빨리넘겨서.. 다음번 해볼때 수정할께요
전부 OK 해주시면 이런환경이 완성됩니다

참고로 지금 작업하는 포스트도 이 환경에서 작업하는…
(물론 지금은 오른쪽이 마크다운 뷰어로 나오고있죠)
아무튼 소스코드, 오른쪽엔 쥬피터 노트북 및 변수
그리고 아래쪽엔 터미널이 뜨는데
git 이나 pip 등의 명령어를 사용하기 아주 좋은 ㅠ
맨날 창 몇개씩 키고하다가 확 줄어드는 신세계를 경험하네요

참고로 이환경에선
셀을 나눌땐 아래 문구를 사용

#%% 

Shift + Enter 는 셀실행 및 아래셀로 넘어가기(없을땐 생성) 블록지정후 Shift + Enter 는 블록부분만 실행
Ctrl + Enter 는 셀실행 및 커서이동 없음
그리고 F5 를 누를경우 파일단위 실행도 가능합니다(디버깅도 가능)

이정도가 되겠네요

참고로 WSL이 아닌 SSH로도 외부접속을 하여 작업도 가능한데 이건 나중에 GCP 설정하면서 해보고 알려드릴게요

Top
Foot