프로필사진

IT Anthology/how-to

NLP 학습을 위한 기본적인 환경 구축 (Python 설치부터)

다각 2019. 9. 3. 17:34

 

---개요---

  • Python 3.7
  • Jupyter Lab
  • Git Kraken
  • Stackedit

Python


많은 사람들이 (실제로 배움의 현장에서도) 파이썬을 시작하기 위해서 아나콘다부터 깔고 시작한다. 아나콘다는 가상환경 변환이 쉽다는 점과, 패키지 관리가 쉽다는 점 때문에 많이 사용된다.

하지만 실제로 NLP를 학습해보면 아나콘다에 없는 패키지를 pip(파이썬 관련 패키지 설치 툴)을 이용하여 깔아야 할 일이 많다. 즉, 어차피 아나콘다를 거치지 않는 것이다. 사용하지 않는다면 용량도 큰 아나콘다를 굳이 유지할 필요가 없다.

이에 파이썬만 깔아서 개발 환경을 설정하고자 한다.

Python 설치 (@ Window)

파이썬 홈페이지에서 Downloads로 들어가 최신 Release가 무엇인지 확인한다. Python2와 Python3가 있는데, NLP를 하다보면 ML(머신러닝)을 돌려야하는 일이 종종 발생한다. 이에 TensorFlow가 Python3.7 버전과 호환이 되는 지 확인 한 후 Python3.7 을 설치했다.
파이썬 홈페이지에서 "Windows x86-64 executable installer" Version을 다운로드 받은 후 실행하면 된다.

enter image description here

설치 시에 이것저것 option이 많이 나온다.
나는 아래와 같이 설치했다.

enter image description here


위에서 빨간색으로 체크박스(Add Python 3.7 to PATH)를 선택해주는 것이 나중에 정신 건강에 이롭다.

그 다음 Customize installation을 선택해서 아래 사진과 같이 새로 경로를 지정해주면 나중에 삭제 시 깔끔하게 제거할 수 있다.

enter image description here

가상환경 사용 (Python Venv)

가상환경 구축에는 이 분의 블로그를 많이 참고했다.
먼저 cmd를 실행해여 다음과 같이 타이핑한다.

C:\> cd c:\Python                         # 파이썬 설치 시 만든 'Python' 폴더에 접근
C:\Python> mkdir Venv                     # Venv 폴더를 cmd상에서 생성
C:\Python> cd Venv 
C:\Python\Venv> python -m venv NLP         # 'NLP'라는 이름의 가상환경을 만들어냄

여기서 'NLP'는 Venv 내의 폴더로 만들어지기도 하고 가상환경의 이름이 되기도 한다. 이 작업이 완료되면 다음과 같은 작업을 통해 파이썬을 실행할 수 있다.

C:\Python\Venv> cd NLP\Scripts
C:\Python\Venv\NLP\Scripts>activate

그럼 다음과 같이 가상환경으로 진입할 수 있다.

(NLP) C:\Python\Venv\NLP\Scripts>

 후에 가상환경을 초기화하고 싶으면 다음과 같이 치고 해당 폴더를 지우면 된다.

C:\Python\Venv> python -m venv --clear NLP

jupyter lab


jupyter lab 설치

설치 법에 대해 얘기하기 앞서, 내가 왜 jupyter lab을 선택했는지 기록해두려 한다.
jupyter lab은 jupyter notebook을 기반으로 만들어진 것이어서 기본적인 jupyter notebook의 특성을 따른다.
많은 사람들은 jupyter notebook을 선택함에 비해 내가 jupyter lab을 기본 환경으로 설정하려는 이유는 다음과 같은 장점이 있기 때문이다.

  1. 파일 브라우징이 간편하다 (폴더트리가 바로 왼쪽에 떠있어서 여러 코드를 참고하기에 간편하다)
  2. 마지막에 열었던 파일이 바로 실행된다.

jupyter lab을 설치하는 것은 간단하다. 설치하고자 하는 가상환경으로 들어가 pip install jupyterlab을 타이핑해주면 된다.

(NLP) C:\Python\Venv\NLP\Scripts> pip install jupyterlab

jupyter lab 바로가기 만들기

한편, 아나콘다 없이 바로 jupyter lab을 설치하면 바로 접근하기가 불편한다.
간단한 작업으로 jupyter lab을 바로 실행할 수 있다.
먼저 로컬에서 다음과 같은 폴더 경로로 접근한다.

C:\Python\Venv\NLP\Scripts

그럼 'activate' 파일을 볼 수 있을 것이다.

enter image description here

그것을 메모장으로 열어 맨 아랫쪽에 다음 두 줄을 추가해준다.

cd C:\Python\Ground
jupyter lab

위의 코드에서 Ground는앞으로 jupyter lab을 통해 작업하는 파이썬 파일들이 저장될 곳이다.

(여담이지만 학원 등에서 배우며 만들었던 파일을 Playground, 개인적으로 따로 작업한 파일은 HomeGround에 저장을 해왔기 때문에 폴더 이름을 'Ground'로 정했다)


개인마다 마음에 드는 이름을 'Ground' 부분에 넣으면 된다.

이제 바로가기를 만들어보자
아까 수정했던 activate 파일에 오른쪽 버튼을 누르면 '바로가기 만들기' 버튼이 있다. 이것을 클릭하여 바로가기를 생성한 뒤 내가 원하는 이름을 붙여주자. (나는 'NLP lab'이라고 이름을 붙였다)

바로 이용할 수도 있지만, 임시파일처럼 생긴 아이콘을 참을 수 없어 아이콘을 변경해주고 한다.
만들어 놓은 바로가기에서 속성을 눌러 들어가면 아이콘 변경을 할 수 있다.

enter image description here

아이콘 변경을 위해서는 아이콘이 필요하다.
구글링을 통해 원하는 이미지를 다운받는다. 나는 jupyter의 로고를 다운받았다.
아이콘으로 넣기 위해서는 이미지 파일을 ico 형식으로 변환해줘야 한다.
ico 형식의 파일을 찾아 넣으면 예쁘게 잘 들어간 것을 확인할 수 있다.

이렇게 커스터마이징한 바로가기를 C드라이브의 사용자 폴더 안에 넣어주면 jupyter lab으로 바로 접근이 가능하다.

enter image description here

위와 같이 내가 지정한 앱 이름을 타이핑하면 NLP 가상환경 내의 jupyter lab이 시행된다.

여담


jupyter lab에는 치명적인 단점이 있다. jupyter notebook에 비해 테마가 다양하지 않다는 것. 그래도 현재 3개 정도 추가 테가마 리스트업 되어 있는 듯 하나, 이마저도 테마 설정 방법이 통일되어 있지 않다. 그나마 Material Darker 테마가 제일 설치하기 간편했지만, 이마저도 아나콘다를 깔지 않은 상태에서 설치할 경우 Node.js를 추가로 설치를 해야하는 문제가 생긴다. 일단 jupyter lab 테마 링크를 남겨둔 상태에서, 나중에 어떻게 핸들링을 할 수 있을 지 조금 더 고민하고자 한다.

GitKraken


처음에 배웠을 때는 Source Tree를 사용했으나, 다른 분이 git kraken을 사용하는 것을 보고 바로 갈아탔다.
소스트리에 비해 장점이 명확하기 때문이다.

  1. 인터페이스가 간편하고 미학적이다. (이것은 매우 중요하다. 예를 들어 커밋하지 않은 변경사항이 있을 경우 그것을 굉장히 직관적으로 나타내준다)
  2. 빠르다. (이것은 1번 다음으로 제일 중요하다)
  3. 풀리퀘스트(Pull-Request)의 관리가 가능하다.

Git Kraken은 무료로 다운로드 받아 사용할 수 있다.
학생의 경우 1년 동안 Pro로 업그레이드 해주는 혜택도 있으니, 잘 사용해보는 것도 괜찮겠다.

Stackedit 사용


Stackedit 같은 경우 사실상 개발에 필요한 도구는 아니다.
하지만 Github 블로그를 관리하는 데에 있어 굉장히 유용한 Tool이어서 여기에 같이 기록한다.
stackedit는 markdown 에디터이다. 다른 마크다운 에디터도 많지만, 이 앱은 특히 강력한 동기화 기능을 자랑한다.
깃헙이나 구글 드라이브 등에 연결이 가능한 것이다.
특히, github 블로그 사용하는 사람이 있다면 github과 연동해두면 md파일을 작성하고 저장하면, 그 즉시 해당 repo에 push가 된다.

(이는 엄청난 혁명)

stackedit에서 github등과 연동하는 방법은 다음과 같다. 먼저 오른쪽의 stackedit 로고를 눌러 메뉴를 열고, workspaces를 클릭한다.

enter image description here

그 후 해당 'add a GitHub workspace' 버튼을 클릭하여 필요한 정보를 입력한다.

enter image description here


Now, you can post anything directly...

글을 마치며

지금까지 개발환경을 어떻게 설정했는 지 알아보고 기록하였다.
앞으로 추가적인 정보(테마나 무슨 패키지를 설치했는지 등)을 지속적으로 업데이트할 예정이다.