본문 바로가기

윈도우 개발환경

윈도우에 만드는 파이썬 개발 환경; 3. 아나콘다 없이 무료로 Jupyter notebook 설치

윈도우에 만드는 파이썬 개발 환경

1. pyenv로 여러 버전의 파이썬 설치

2. venv로 파이썬 가상환경 만들기

3. 아나콘다 없이 무료로 Jupyter notebook 설치

4. VSCode에 Jupyter연결

 

0. 아나콘다 (Anaconda)

아나콘다는 R과 파이썬의 패키지와 많이 사용하는 프로그램을 쉽게 배포, 관리할 수 있도록 도와주는 프로젝트에서 시작되었고, 현재는 Java, Nodejs를 포함하여 점차 더 많은 언어의 개발에 필요한 IDE가 추가되고 있다.

 

  • R에서는 R로 계산, 분석, 등에 필요한 패키지를 conda로 관리해 주고, Rstudio를 쉽게 설치하고 관리할 수 있게 도와준다. 하지만 개인 목적이 아니라면 Rstudio는 1년에 500만 원이 넘는 비용을 별도로 지불해야 한다. 
  • 파이썬에서는 conda를 통해 많은 파이썬 패키지들을 PyPI와는 별개로 conda-forge라는 conda에서 관리하는 패키지 채널과 기타 채널을 통해 관리하고, Jupyter notebook, Spyder IDE와 같은 개발 도구도 제공하고 있다.
  • 이 외에도 다른 언어에 대해서도 conda를 통한 통합된 패키지 관리와 Anaconda Navigator를 통해 pyCharm, VSCode와 같은 IDE를 쉽게 설치, 관리할 수 있도록 도와준다.

Rstudio와 pyCharm의 예로 보면 알 수 있겠지만, 아나콘다는 이들을 통합해서 설치, 관리할 수 있는 환경이지, 각각의 소프트웨어에 대한 가격은 다시 각각 지불해야 한다. 다시 말해, 아나콘다는 conda-forge와 같은 패키지관리를 제외하면, Navigator를 통해 IDE에 대한 통합관리 등 편리성만을 제공하고 있으며 이마저도 무료 오픈소스 소프트웨어가 아니다.

 

conda-forge 패키지 채널이나 Anaconda Navigator를 사용하려면, 200명이 넘는 직원이 있는 회사라면 한 달에 개발자당 50불 이상의 비용을 지불해야 한다. 하지만, 파이썬 개발자가 주로 사용하는 Jupyter나 conda패키지 관리 소프트웨어는 회사에서 상용 목적으로 제한 없이 무료로 사용할 수 있는 오프소스 소프트웨어이다

1. Jupyter

파이썬은 인터프리터(interpreter) 언어이다. 다시 말해, 파이썬을 실행하기 위해 번역기가 한 줄씩 번역하고 한 줄씩 실행하는 구조로 되어 있어서 언어를 쉽게 배울 수 있다. 물론 컴파일(compile)을 통해 토큰 형식으로 변환된 보다 빠르게 실행할 수 있는 구조로 변환도 되지만, 기본적으로 인터프리터 언어이다.

 

이런 파이썬의 성격을 잘 반영하고 있는 개발환경이 Jupyter인 것 같다. 새로운 패키지를 테스트하거나 공부할 때, 또는 결과를 보면서 개발을 해야 할 때 유용한 개발환경이다. 그래서, pyCharm이나 VSCode에서도 자체 파이썬 개발환경과 더불어 notebook문서를 만들 수 있게 제공하고 있다.

 

내가 파이썬을 처음 배울 때 유용하게 사용했던 ipython(iron python)을 제작한 단체가 기능을 확장해서 Jupyter Notebook을 만들었다. Jupyter도 ipython위에서 동작하고 있으며

 

  • 개발문서를 효과적으로 만들고 공유할 수 있는 Jupyter Notebook,
  • Notebook과 연결하여 웹 화면에서 프로그램을 실행하고, 그 결과를 웹으로 볼 수 있는 JupyterLab,
  • 그리고 Notebook으로 작성된 프로그램을 App으로 실행할 수 있는 Voilla

등으로 구성되어 있다. 하지만 자체적으로 파이썬을 제공하거나, 패키지 관리를 하는 기능은 없기 때문에 필요한 패키지는 콘설에서 pip으로 설치해야 한다.

2. Jupyter 설치

 

Project Jupyter

The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media.

jupyter.org

a. 가상환경 만들기

Jupyter는 모두 파이썬으로 작성되어 있어서 설치 과정이 모두 pip으로 진행된다. 많은 패키지가 설치되기 때문에 만일 시스템 또는 global에 설정된 파이썬 버전을 그대로 사용한다면 먼저 venv로 가상환경을 구성하고 설치하는 것이 좋다.

 

python -m venv jupyter
cd jupyter
Scripts\activate.bat  ### 윈도우

b. nodejs설치하기

Jupyter가 원활하게 동작하기 위해서는 nodejs가 필요하다. 만일 nodejs가 설치되지 않았다면,

 

  • nodejs를 공식페이지에서 받아 바로 설치하거나,
 

Node.js — Download Node.js®

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

  • 다양한 버전을 보다 체계적으로 관리하기 위해서는 nvm(node version manager)를 사용해서 설치하면 된다.
 

GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.

A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows

github.com

nvm이 설치되면 pyenv와 같은 방식으로 nodejs의 버전을 설치하고 변경, 사용하는 것이 가능하다.

 

nvm install 18
nvm use 18.17.1

c. Jupyter Notebook

  • 설치하고 실행하기 위해 아래 명령을 사용한다.
pip install notebook
jupyter notebook

d. JupyterLab

  • 설치하고 실행하기 위해 아래 명령을 사용한다.
pip install jupyterlab
jupyter lab

 

재미있는 것은 이제는 jupyter notebook을 설치하면 jupyterlab을 설치할 필요가 없다고 나온다. 마찬가지로, jupyterlab을 먼저 설치해도 같은 결과를 보였다. 따라서, 두 가지 중 하나만 설치하면 된다.

 

jupyter는 jupyter를 실행하는 폴더가 notebook의 최상위 폴더가 되기 때문에, 먼저 폴더를 하나 만들고 이동한 다음 실행하는 것이 좋다.

 

mkdir notebooks
cd notebooks
jupyter lab

e. Voila

사실 Voilla를 회사에서 잘 사용하지는 않았던 것 같다. 하지만 notebook 서버와 연동해서 notebook문서를 App으로 실행해 준다고 하니 같이 설치해도 좋을 듯하다.

 

  • 설치하려면 pip을 사용하고
pip install voila

 

  • voila로 하나의 notebook 문서를 실행하려면
voila [notebook 문서명].ipynb

 

  • notebook폴더 전체를 대상으로 실행하려면, notebook폴더에서
voila

 

로 실행한다. 다른 jupyter프로그램과 마찬가지로 실행하면 아래 화면이 브라우저 바로 나타나기 때문에 편리하다.

 

 바로 접속하기 위해서는

 

http://localhost:8866

 

을 사용한다.

 

  • notebook서버와 연결하기 위해서는
jupyter server extension enable voila

 

명령을 사용하면 되고,

 

http://localhost:8888/voila

 

로 접근하면 된다.