자바스크립트가 비활성화 되어있습니다.
자바스크립트가 활성화 되어야 콘텐츠가 깨지지 않고 보이게 됩니다.
자바스크립트를 사용할수 있도록 옵션을 변경해 주세요.
- willbsoon

본문 바로가기
Python

jupyter notebook 실행시 conda env가 보이지 않을때

by willbsoon 2021. 6. 16.

1. 서론

최근 nipa 서버를 사용하게 되면서 jupyter notebook을 자주 사용하게 되는데

툴을 사용하다보면 툴만 따로 공부해야 할 정도로 기능도 많아지고 복잡해지는 것 같다는 생각이 든다.

 

그러는 중에 nipa 서버가 아닌 회사 gpu 서버를 통해 챗봇을 구현하려는데

jupyter notebook을 사용해 간단하게 작업하려고 했는데 패키지를 읽어오지 못하는 상황에 생겨버렸다...

 

이 무슨... 

왜그런가 찾다보니 jupyter 가 conda env를 읽지 못하는 상황이었던 것이다.

nipa 서버는 이걸 해주셔서 내가 몰라도 되었었지만... 회사 서버에는 내가 직접 설치를 해야하는구나..

 

역시 남이 해주는게 편하지.. 내가 하는 건 쉽지가 않다...ㅠㅠ

 

그렇다면 이걸 어떻게 설치하는지 살펴보자!

 

2. 본론

1) conda env 만들기

$ conda create -n kochat python=3.8 
# 파이썬 3.8 버젼의 kochat이라는 env를 만든다.

해당 명령어로 kochat이라는 가상환경을 만든다.

 

 2) jupyter notebook 에서 사용가능한 패키지 확인

jupyter-notebook을 처음 설치하였다면 사실 env는 하나일것이다. 아래 명령어를 통해서 확인해보자.

$ jupyter kernelspec list
Available kernels:
  python3    /home/ubuntu/anaconda3/share/jupyter/kernels/python3

보니깐 python3 이거 하나밖에 없다...

내가 설치해놓은 패키지를 하나도 쓰지 못하는 상황...

 

그럼 이것을 어떻게 해결할 것인가??

jupyter notebook과 아나콘다 env를 연결시켜줄 패키지를 설치하자.

 

 

 3) nb_conda 설치하기

ipykernel과 nb_conda를 설치하면 간단하게 해결 가능하다. 모르면 절대 할수 없지만 알면 정말 간단한 작업..

 

$ source activate kochat	# 노트북에 등록하고자 하는 가상환경에 들어간다.
$ conda install ipykernel

 한줄이면 많은 패키지들이 다운될 것이다.

 

 4) conda env를 jupyter notebook에 설치하기

패키지를 다운 받았으니 저걸 jupyter notebook에 설치해야 사용할수 잇을 것이다.

먼저 conda에 어떤 env가 있는지 확인해본다.

 

$ conda env list
# conda environments:
#
base                     /home/ubuntu/anaconda3
cluster_env              /home/ubuntu/anaconda3/envs/cluster_env
drqa_env                 /home/ubuntu/anaconda3/envs/drqa_env
kochat                *  /home/ubuntu/anaconda3/envs/kochat
projects                 /home/ubuntu/anaconda3/envs/projects
py_20200602              /home/ubuntu/anaconda3/envs/py_20200602

 여러가지 env가 있는 것을 확인할수 있다. 이중에 jupyter notebook에 연결할 env를 골라서 다음 명령어를 실행한다.

 

$ python -m ipykernel install --user --name kochat --display-name "Python 3.7(kochat)"
# kochat 이란 env를 jupyter notebook에 설치할 것이고 보여질 이름은 Python 3.7(kochat) 로 설정한다는 의미

 

이렇게 할수 있다.

 

그러면 이제 확인해봐야겟지요?

 

이와같이 설치되는 것을 볼 수 있다.

 

 

 

 

**********

근데 만들어놓은 가상환경에 연결되지 않고 .local 폴더 밑에 연결되어지는 경우가 있다.

document를 보더라도 아래와 같이 설명하고있다.

Note that this command will create a new configuration for the kernel in one of the preferred location (see jupyter --paths command for more details):

system-wide (e.g. /usr/local/share),
in Jupyter’s env (sys.prefix/share),
per-user (~/.local/share or ~/Library/share)

If you want to edit the kernelspec before installing it, you can do so in two steps. First, ask IPython to write its spec to a temporary location:
ipython kernel install --prefix /tmp

--prefix 밑에 가상환경이 연결되어진다고 한다.

그래서 가상환경과 제대로 연결되지 않을경우 아래와 같이 입력하자.

python -m ipykernel install --prefix=/home/ubuntu/anaconda3/envs/tf2_nlp_study --name 'tf2_nlp_study'

가상환경으로 루트를 설정하게되면 제대로 연결되어질것이다.

 

3. 결론

 

잊어버리지 않기 위함도 있지만 이걸 보고 많은 분들에게도 도움 됬으면 좋겠네요~

 

 

참고 : ipython.readthedocs.io/en/stable/install/kernel_install.html

 

 

 

##########################################

다중커널...

 

bryan7.tistory.com/719

 

jupyter 다중 커널(kernel) 설치하기

$ jupyter kernelspec install-self [InstallNativeKernelSpec] Installed kernelspec python2 in /usr/local/share/jupyter/kernels/python2 HOW TO INSTALL R KERNEL FOR IPYTHON JUPYTER ON MAC OSX YOSEMITE h..

bryan7.tistory.com

 

 

센트os와 우분투는 다른지... 잘안됨..ㅠ

그래서 다중커널 설치와 관련된 내용 가져옴.

댓글