우선 눈물을 닦고 시작하자. 파이썬 3.5.2 버전 설치를 위해 반나절을 풀로 날렸다.
그래도 다행인 것은 어느정도 완성을 향해가고 있다는 것과 블로그에 기록을 하고 있다는 것.
패스트 캠퍼스에서 Node.js와 Python을 수강한 지 1년 되었다.
많은 것을 알려주고, 이 세계의 재미를 알려준 수찬이에게 진심으로 감사의 말을 전한다.
Python 3.5.2 설치하기
Step1. Install Required Package
Use the following command to install prerequisites for Python before installing it.
$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
Step2. Download Python 3.5.2
Download Python using following commmand from python official site.
You can also download latest version in place of specified below.
$ cd /usr/src
$ sudo wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
Now extract the download package.
$ sudo tar xzf Python-3.5.2.tgz
Step3. Compile Python Source
Use below set of commands to compile python source code on your system using altinstall
$ cd Python-3.5.2
$ sudo ./configure
$ sudo make altinstall
make altinstall is used to prevent replacing the default python binary file
/usr/bin/python
Step4. Check the Python Version
Check the latest version installed of python using below command
$ python3.5 -V
Python 3.5.2
Step5. Change alias
// vi ~/.bashrc
$ alias python3=`/usr/local/bin/python3.5`
Jupyterhub 설치
sudo apt-get install npm nodejs-legacy #check prerequisites
sudo npm install -g configurable-http-proxy
# Install packages > dev 3.4버전으로 나옴..
sudo apt-get install python3-pip
sudo pip3 install jupyterhub
sudo pip3 install --upgrade notebook
// 실행하는 위치에서 쿠키, sqlite파일이 생성됨.
sudo jupyterhub
Jupyterhub 도메인 연결해주기
nginx.conf 파일 수정하기
/etc/nginx/sites-available/default
...
location / {
proxy_pass https://keun.me:8000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* /(user/[^/]*)/(api/kernels/[^/]+/channels|terminals/websocket)/? {
proxy_pass https://keun.me:8000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
Jupyter Kernel 셋팅하기
현재 사용할 수 있는 커널 확인하기
$ jupyter kernelspec list
필요한 프로그램 (폴더) 만들고 kernel.json 파일 수정하면 완료
$ cd /usr/local/share/jupyter/kernels/
// kernel.json
{
"language": "python3.5",
"display_name": "Python 3.5",
"argv": [
"/usr/bin/python3", // or /usr/local/bin/python3.5
"-m",
"IPython.kernel", // or ipykernel_launcher
"-f",
"{connection_file}"
]
}
Reference
다중커널개념 이해하기