Jupyter에 virtualenv 커널 추가하기

보통 Python 을 쓸 때 virtualenv 를 사용해 독립적인 환경을 구성해놓고 썻다.

virtualenv 를 사용하면 각 환경 별로 패키지를 달리 설치하여 충돌도 막아주고 깔끔한 개발 환경은 지원해주기 때문이다.

하지만 Jupyter 는 개발 환경에 독립적일 필요가 없으니 virtualenv 에 가두지 않고 글로벌하게 설치했다.

그리고 당연하게도 Jupyter 에서 virtualenv 에 설치된 패키지들에 접근하지 못했다.

순간 “그럼 virtualenv 안에 Jupyter 를 설치해야 되는구나!” 라는 생각을 했지만 이건 아닌것 같아서 구글링을 시작했다.

그리고 역시 은 있었다!

설정

일단 적당한 virtualenv를 만들어 놓자.

Jupyter 의 설정들을 보기 위해 터미널에서 jupyter --paths 를 입력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
$ jupyter --paths
config:
/Users/mac/.jupyter
/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/etc/jupyter
/usr/local/etc/jupyter
/etc/jupyter
data:
/Users/mac/Library/Jupyter
/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/share/jupyter
/usr/local/share/jupyter
/usr/share/jupyter
runtime:
/Users/mac/Library/Jupyter/runtime

그리고 아까 생성한 virtualenv 를 활성화하고, which python 명령어로 가상환경의 위치를 파악한다.

1
2
(tensorflow) $ which python
/Users/mac/.envs/tensorflow/bin/python

그리고 ipykernel 모듈을 설치한다.

1
(tensorflow) $ pip install ipykernel

이제 Jupyter 에 kernel을 추가만 하면 된다.(까먹지말자)

1
$ mkdir /Users/mac/Library/Jupyter/kernels/tensorflow

마지막으로 kernel.json file을 하나 생성해주자.

1
2
3
4
5
6
{
"argv": [ "/Users/mac/.envs/tensorflow/bin/python", "-m", "ipykernel",
"-f", "{connection_file}"],
"display_name": "tensorflow",
"language": "python"
}

그리고 Jupyter를 실행하고 확인하면!

jupyter_1

tensorflow 라는 커널이 추가된 것을 확인할 수 있다!

Refer

Your browser is out-of-date!

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

×