본문 바로가기

프로그래밍/Python

[번역] ipywidgets 설치 문서

반응형

https://github.com/jupyter-widgets/ipywidgets/blob/master/docs/source/user_install.md 의 번역입니다.

설치

현재버전의 ipywidgetspipconda 로 설치가 가능하다.

Pip로 설치

pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension

virtualenv 를 사용해서 활성화(activate)된 가상환경에서 작업할 경우에는, 고립된 환경에서 확장을 enable하려면, --sys-prefix 옵션이 필요할 수 있다. (즉, jupyter nbextension enable --py widgetsnbextension --sys-prefix 로 실행한다.)

Conda로 설치

conda install -c conda-forge ipywidgets

conda로 ipywidgets 를 설치할 때에는 확장 enable 명령까지 자동으로 해준다.

다중 환경에 설치 (Installing with multiple environments)

주피터 노트북과 ipython 커널이 서로 다른 환경(virtualenv 나 conda environment)에 설치되기도 한다. 여러 환경으로 서로 다른 ipython kernel 을 제공하여 사용하는 경우 이런 상황이 된다. 이 경우엔, 설치에 2단계 작업이 필요하다.

첫번째로, widgetsnbextension 패키지를 주피터 노트북 서버가 깔린 환경에 설치해야 한다. 다음단계로, ipywidgets를 ipywidget 을 사용하게 되는 각 커널의 환경에 설치해야 한다.

예를 들어, conda 환경을 사용하고, 노트북이 base 환경에 설치되어 있고, 커널은 py36 이라는 환경에 설치되어 있다고 한다면, 다음과 같이 해줘야 한다.

conda install -n base -c conda-forge widgetsnbextension
conda install -n py36 -c conda-forge ipywidgets

주피터랩 확장 설치

주피터랩 확장을 설치하려면, 아래 명령을 명령프롬프트에서 실행하면 된다. 단, nodejs 가 설치되어 있어야 한다.

예를 들어, conda 환경을 사용할 때, nodejs 를 다음 명령으로 설치할 수 있다.

conda install -c conda-forge nodejs

이후, labextension 을 설치한다.

jupyter labextension install @jupyter-widgets/jupyterlab-manager

이 명령은 최신버전의 ipywidgets 주피터랩 확장을 설치한다. 주피터랩의 버전에 따라 오래된버전이 설치될 수도 있다.

주피터랩이 실행되는 동안 확장을 설치하면, 페이지를 새로고침하거나, 주피터랩을 재시작하여야 효과가 나타날 것이다.

주의: 주피터랩 확장을 깔끔하게 재설치하려면, 먼저 jupyter lab clean 명령을 수행하여, lab 디렉토리에서 staging과 static 디렉토리를 삭제해야 한다. lab 디렉토리의 위치는 터미널에서 jupyter lab path 명령을 실행하여 알아낼 수 있다.

자주 묻는 질문 (Frequently Asked Questions)

깃헙의 Reference milestone 이슈에 보면 많은 질문, 토론, 답변들이 있다.

질문: widget을 disply 하거나, interact 하려했으나, IntSlider(value=0)interactive(children=(IntSlider(value=0, description='x', max=1), Output()), _dom_classes=('widget-interact',))과 같은 텍스트만 보인다. 무엇이 문제인가?

답변: 위젯 컨트롤을 쓸 수 없을 때, 위젯은 텍스트로 표시된다. 이런 경우는 아마 위젯 자바스크립트가 아직 로딩중이라는 뜻일 수 있다. 주피터 노트북이나 주피터랩에서 이 메시지가 지속된다면, 위젯 자바스크립트 라이브러리가 설치되지 않았거나, 활성화되지 않았다는 뜻일 수 있다. 위에 있는 설치 지시사항을 따라 설정해 보라.

기타 프론트엔드 (예를 들어, Github이나 NBViewer 의 정적랜더링) 에서 보게된다면, 프론트엔드가 현재 위젯을 지원하지 않는 것일 수 있다.

728x90