jupyter-notebook을 실행해 보고, 서버 관련 구성 내용을 설정해서 사용해 보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
(jupyterscfy) ~> jupyter notebook [I 01:15:02.799 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret [I 01:15:21.630 NotebookApp] Loading IPython parallel extension [I 01:15:21.646 NotebookApp] Serving notebooks from local directory: /home/qkboo [I 01:15:21.646 NotebookApp] The Jupyter Notebook is running at: [I 01:15:21.647 NotebookApp] http://localhost:8888/?token=689ae860106f8a7274b50f68f69895420eab19064ebb8e69 [I 01:15:21.648 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 01:15:21.708 NotebookApp] No web browser found: could not locate runnable browser. [C 01:15:21.710 NotebookApp]
To access the notebook, open this file in a browser: file:///run/user/1000/jupyter/nbserver-8251-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=689ae860106f8a7274b50f68f69895420eab19064ebb8e69
jupyter notebook 을 종료하려면 Ctrl+C 로 인터럽트를 걸어준다.
1 2 3 4 5 6 7 8 9 10 11
...
^C[I 01:16:41.847 NotebookApp] interrupted Serving notebooks from local directory: /home/qkboo 0 active kernels The Jupyter Notebook is running at: http://localhost:8888/?token=689ae860106f8a7274b50f68f69895420eab19064ebb8e69 Shutdown this notebook server (y/[n])? y [C 01:16:44.757 NotebookApp] Shutdown confirmed [I 01:16:44.760 NotebookApp] Shutting down 0 kernels (jupyterscfy) ~>
Scientific packages
numpy scipy matplotlib pillow
matplotlib는 외부 이미지를 png 형식만 지원한다. jpeg를 사용하려면 pillow 모듈을 설치한다.
pillow 여기까지 설치하면 의존성에 관련한 아래 같은 여러 패키지가 함께 설치된다.
requests : Python package provides a graceful interface for making HTTP requests,
pil : provides Python imaging capabilities,
scrapy : is a web scraping framework,
geopy provides geocoding and geodesic distance functions,
shapely provides 2D geometry manipulation,
pyproj: provides cartographic transformations. In the second command, jupyter provides interactive coding notebooks,
geopandas spatializes pandas,
OSMnx lets you work with OpenStreetMap street networks.
이 패키지들은 별도로 설치를 하고자 하면 pip로 설치하거나 시스템 패키지로 다음 같이 설치 할 수 있다.
pandas 설치시 여러 번들이 필요해서 시스템 패키지가 아닌 conda 혹은 pip 로 설치한다.
1 2 3 4 5 6
$ time pip install pandas ...
real 118m4.118s user 114m47.176s sys 1m27.483s
pandas를 pip로 설치시 Raspberry Pi 3의 OpenSuse 15.2 에서 실제 2시간 정도 걸린다.
Pandas 로 지오 데이터 셋트를 다룰 예정이라면
백업
현재까지 설치된 pip 모듈 목록을 저장하자.
1
~> pip freeze --local > jupyter-requirements.txt
서버로 실행
jupyter-notebook 은 로컬 머신에서 브라우저를 실행한다. 여기서는 원격 사용을 위해 다음 같이 시작할 수 있다. [DIR] 에 jupyter-notebook에서 작성한 노트북 파일이 저장된다.
1 2 3 4 5 6 7
~> jupyter-notebook --no-browser --ip=* --port=8000 [DIR] [I 02:51:04.797 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 02:51:04.800 NotebookApp]
Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8585/?token=a747472bc9a7c6684829267d2ed0a4cd9a722e
시작후 ?token=a..... 부분의 토큰을 복사해 브라우저에 입력후 쥬피터 노트북 사용을 시작한다. 브라우저로 노트북에 접속해서 복사한 토큰을 입력한 후 로그인한다.
{:width=”650”}
Jupyter 설정 이용
jupyter는 설치된 후에 jupyter 시스템 디렉토리와 사용자 JUPYTER_DATA_DIR에 필요한 내용을 저장한다.
시스템 디렉토리: /usr/local/share/jupyter/
JUPYTER_DATA_DIR 는 보통 ~/.jupyter
설정 파일을 이용해서 사용자 비밀번호를 이용해 노트북을 사용할 수 있다.
먼저 실행중인 쥬피터 노트북에서 passwd() 를 실행해 패스워드 해시 값을 얻는다.
1 2 3 4 5
In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: Verify password: Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e043ea597d771089e11eed'
패스워드 해시 값을 데이터 디렉토리의 설정 파일에 입력해야 한다.
데이터 설정 파일
먼저 다음 같이 설정 파일을 생성한다.
1 2 3
~> jupyter notebook --generate-config Writing default config to: /home/foo/.jupyter/jupyter_notebook_config.py ~> cd .jupyter && mv jupyter_notebook_config.py mynotebook.py