Py) 주피터노트북 다중 커널

Py) 주피터노트북 다중 커널

주피터 노트북에서 서로 다른 파이썬 버전의 다중 커널을 사용하는 방법을 알아보자.


개요

데이터 분석을 하다보면 특수한 분석을 위해서 특정 라이브러리 버전을 사용해야 할 때가 있는데 이 경우 해당 특정 라이브러리 버전을 사용하기 위해 다른 의존 라이브러리의 버전도 맞춰주어야 되는 등 여러 추가 작업이 발생할 수 있다. 이렇게 되면 특수한 분석을 위해 환경 설정을 별도로 할 필요가 있을 수 있다. 하지만 해당 분석을 위해서 맞춘 환경이 다른 범용적인 작업에서는 부적합한 환경일 수 있다. 이를 위해 별도의 환경을 구축하는 방법을 권장하며 보통 “가상환경”을 사용한다고 한다.

여기서는 “가상환경”을 만들고자 하는 Windows운영체제와 주피터노트북을 사용하는 사용자를 위해 주피터 노트북의 다중 커널(Kernel)을 사용하는 방법을 알아보자.

커널(Kernel)

커널(Kernel)은 “씨앗 내부의 핵심 알맹이”라는 뜻이며 여기 주피터노트북 에서는 코드 실행을 담당하는 핵심 프로그램 정도로 이해하면 되겠다.

여기서는 여러 파이썬 커널의 설정에 대해서 알아볼 예정이지만 실제로는 파이썬 뿐만 아니라 다른 언어의 커널도 사용할 수 있다. 즉, 주피터 노트북에서 자바스크립트, R, Ruby, Julia 등 다양한 언어를 사용할 수 있다.

아무튼 여기서는 서로 다른 파이썬 버전의 커널 또는 같은 파이썬 버전이지만 다른 환경을 가진 커널을 사용하는 방법에 대해서 알아보자.

파이썬의 설치

여기서는 Windows 운영체제에서 서로 다른 파이썬 버전의 커널을 사용하는 방법을 다루고자 한다. 그래서 다음과 같이 파이썬 3.7.4 버전과 파이썬 3.11.9 버전을 설치하였다.
※ 파이썬 설치와 관련해서는 Py) Jupyter Notebook 설치 게시글 참고
Windows 운영체제에서의 설치된 파이썬 확인

가상환경 생성

설치된 파이썬 3.7버전의 가상환경을 만들어보겠다. Windows 운영체제의 명령프롬프트(CMD)에서 다음과 같이 입력한다. 여기서 가상환경의 경로는 상대경로여도 되나 확실하게 하기 위해 절대경로로 지정하였으며 반드시 “C”드라이브의 바로 아래 하위폴더일 필요는 없다.

1
py -3.7 -m venv C:\venvs\py_37

그러면 C 드라이브 바로 아래의 “venvs”라는 폴더에 “py_37”이라는 이름의 가상환경이 생성된다.
파이썬 3.7 가상환경 생성 예시

가상환경 활성화

가상환경이 준비되면 해당 가상환경에서 필수 라이브러리를 설치하고 세팅을 해야 한다. 이를 위해 가상환경을 활성화(activate)해야 하는데. 다음과 같이 입력한다.

1
C:\venvs\py_37\Scripts\activate

“C:\venvs\py_37” 부분까지는 활성화 하고자 하는 가상환경의 경로로 별도의 다른 경로로 지정한 경우 그에 맞게 변경해주면 되겠다.

활성화를 한 경우 다음과 같이 프롬프트의 앞에 가상환경 이름이 표시된다.
파이썬 3.7 가상환경 활성화 예시

가상환경 커널 등록

가상환경을 단순히 만들었다고 바로 주피터노트북에서 커널로 사용할 수 없다. 그래서 관련 라이브러리를 설치해야 한다.
※ 다음의 코드는 Windows 운영체제의 명령프롬프트(CMD)에서 실행하는 것을 기준으로 한다.

1
pip install jupyter ipykernel

파이썬 3.7 가상환경의 주피터노트북 커널 관련 라이브러리 설치

상기 코드를 실행하면 가상환경에 주피터노트북 커널 관련 라이브러리가 설치된다.

이 와중에 “pip”의 버전을 업데이트 하라는 메세지가 뜰 수 있으며 이때는 다음의 코드를 실행하도록 하자.

1
python -m pip install --upgrade pip

아무튼 관련 라이브러리 설치가 끝난 후 다음의 코드를 실행하여 현재 활성화된 가상환경을 주피터노트북의 커널로 등록하도록 하자.
※ 필요 시 “install” 뒤에 “–user”를 붙여주어야 한다.

1
python -m ipykernel install --name=py_37 --display-name="Python(3.7.4)"

확실하게 확인하고자 한다면 다음의 코드로 가상환경의 커널 목록을 확인할 수 있다.

1
jupyter kernelspec list

주피터노트북 커널 목록 확인

주피터노트북 실행

생성한 가상환경 커널 기반의 주피터 노트북을 실행해보자.
주피터노트북 커널 선택 메뉴

주피터 노트북의 우상단 메뉴의 [New] -> [Python(3.7.4)]을 선택하면 해당 가상환경의 주피터 노트북이 실행된다.

해당 노트북에서 다음의 코드를 실행하면 “3.7.4” 또는 본인이 설정한 파이썬 버전이 출력될 것이다.

1
2
3
4
import sys

!{sys.executable} --version
## Python 3.7.4

라이브러리 설치

예를 들어서 사용 중인 주피터 노트북의 커널이 파이썬 3.7.4 버전을 사용하고 있고 여기서 pandas 라이브러리를 설치하고자 한다면 다음의 코드를 실행하면 된다.

1
2
3
import sys

!{sys.executable} -m pip install pandas==0.25.0

하지만 되도록이면 주 사용 커널이 아닌 다른 커널에서 라이브러리를 설치하고자 하는 경우 Windows 운영체제의 CMD를 사용하는 경우 해당 커널이 활성화된 상태에서는 CMD환경에서 직접 라이브러리를 설치하는 것을 권장한다.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×