[Jupyter] 파이썬 2과 3을 동시에 사용하기



참고 : 만약 pyenv 가 설치되어 있지 않다면 http://melonicedlatte.com/2017/02/23/011306.html 이 링크에서 설치하는 방법이 나와있습니다.    
설치하고 python 버전이 2개 이상 있으면 저의 포스팅 글을 보면 편하게 설치하실 수 있습니다.
만약 python 버전이 지금 현재 1 개만 설치되어 있다면 일단 pyenv 를 설치하시고 
pyenv 를 통해서 다른 버전을 설치하시면 될 것 같습니다. 



jupyter에서 현재는 파이썬 3 와 다른 언어들을 사용하고 있는데요
python 같은 경우에 2버전의 코드가 많이 나와서 다른 코드로 찾느라 시간을 많이 사용하게 되었습니다.




urllib 라는 라이브러리도 2와 3이 이름이 다르고 그 외 다른 요소가 많아서 2 도 사용할 때가 필요할 것 같아서
다중 환경으로 설치하기로 마음 먹었습니다. 

sudo ipython kernelspec install-self

먼저 위와 같은 명령어를 입력 해 줍니다. 


그러면 위와 같이 WARNING 이 뜨긴 하지만 마지막 문장을 보면 Installed kernelspec python2 인 것을 확인 할 수 있습니다.

아마 제 로컬환경의 python 이 버전 2 여서 그런 것 같습니다. 
아무튼 /usr/local/share/jupyter/kernels/python2 이라는 경로에 kernelspec python2 가 설치되었습니다. 

$ mv /usr/local/share/jupyter/kernels/python3 $(ipython locate)/kernels
$ cd $(ipython locate)/kernels

다음으로 위의 명령어를 입력하여 파일을 옮기고 디렉토리로 이동합니다. 




그러면 위와 같이 python2 파일이 이동 한 것을 확인 할 수 있습니다. 
~/.ipython/kernels/python2/kernel.json 파일을 살펴보면 아래와 같은 파일이 있는 것을 확인 할 수 있습니다. 




저 같은 경우는 system 에 있는 python2 를 옮겼기 때문에 위와 같이 kernel.json 에 python 2 가 있는 것입니다. 

netstat -tulpn

위와 같은 명령어를 사용하여 현재 저의 jupyter 의 pid 를 알아낸 후 , 해당 pid 를 


kill 해당pid

를 이용하여 제거해주었습니다. 


그 다음에는 아래의 명령어를 통해 jupyter 를 실행하고 

jupyter notebook


생성할 수 있는 python 버전을 살펴보면 아래와 같게 나옵니다. 


이제 python 2 와 3 를 한 번에 쓸 수 있습니다. 


- 출처 -