작성일 댓글 남기기

ipython notebook에서 django shell 사용하기

django shell에서 뭔가 진행할 때 ipython notebook이 아쉬웠다.

혹시 ipython notebok에서 django shell을 쓸 수 있을까 해서 찾아보니 있다.

 

https://github.com/cpbotha/django-shell-ipynb

 

아래와 같이 설치하고

pip install django-shell-ipynb

 

django 프로젝트의 setting.py 파일을 열어서 INSTALLED_APPS에 django_shell_ipynb 를 추가하면 끝.

INSTALLED_APPS = (
'...',
'django_shell_ipynb',
)

 

그런 후

python manage.py shell_ipynb

 

실행하면 ipython notebook 을 띄울 때와 동일하게 실행된다.

 

 

작성일 댓글 남기기

ipython 설치

ubuntu 12.04 에서 ipython을 설치하고 ipython notebook 을 웹브라우저로 접속해보자.

사실 그냥 apt-get install ipython-notebok 명령으로 매우 간단하게 설치할 수 있다.
하지만 ubuntu 12.04 에 포함된 ipython 은 지난 버전이고 웹인터페이스가 좀 구리고 기능이 떨어진다.
그래서 pip를 통해서 최신버전을 설치할 것이다.

 

필요한 패키지를 미리 설치한다.

magellan@ucloud:~$ sudo apt-get install -y python-dev python-pip python-virtualenv gcc g++

 

virtualenv를 이용하여 가상환경에다가 설치하자.

magellan@ucloud:~$ virtualenv --no-site-packages ipython_env
magellan@ucloud:~$ . ipython_env/bin/activate
(ipython_env)magellan@ucloud:~$

 

 

준비가 되었으니 ipython을 설치하자

(ipython_env)magellan@ucloud:~$ pip install ipython[all]

 

 

jinja, tornado, sphinx, zmq 등 이것저것 막 설치된다.
뭐가 설치됐나 보자.

(ipython_env)magellan@ucloud:~$ pip freeze
Jinja2==2.7.1
MarkupSafe==0.18
Pygments==1.6
Sphinx==1.2b3
argparse==1.2.1
distribute==0.6.24
docutils==0.11
ipython==1.1.0
nose==1.3.0
pyzmq==13.1.0
tornado==3.1.1
wsgiref==0.1.2

 

 

ipython을 실행해보자.

(ipython_env)magellan@ucloud:~$ ipython
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
Type "copyright", "credits" or "license" for more information.

IPython 1.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.

In [1]:

이제 ipython notebook 도 실행해보자.

(ipython_env)magellan@ucloud:~$ ipython notebook

 

 

실행하면 잠깐 실행에 대한 출력이 보이더니 텍스트웹브라우저인 w3m화면으로 넘어간다.
이건 볼 필요가 없으므로 q 키를 눌러 빠져 나오면 아래와 같이 나온다.

(ipython_env)magellan@ucloud:~$ ipython notebook
2013-10-24 17:22:12.454 [NotebookApp] Using existing profile dir: u'/home/magellan/.ipython/profile_default'
2013-10-24 17:22:12.460 [NotebookApp] Using MathJax from CDN: http://cdn.mathjax.org/mathjax/latest/MathJax.js
2013-10-24 17:22:12.480 [NotebookApp] Serving notebooks from local directory: /home/magellan
2013-10-24 17:22:12.481 [NotebookApp] The IPython Notebook is running at: http://127.0.0.1:8888/
2013-10-24 17:22:12.481 [NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

 

웹브라우저에서 http://127.0.0.1:8888 으로 접속하면 ipython notebook 의 화면을 볼 수 있다.

 

그런데 ipython notebook 의 실행될 때 바인딩되는 주소가 127.0.0.1이기 때문에
ipython을 서버에 설치하고 외부에서 접속할려면 바인딩되는 주소를 수정할 필요가 있다.

설정을 수정해보자.
설정을 수정할려면 설정파일을 생성해야 한다.

(ipython_env)magellan@ucloud:~$ ipython profile create
[ProfileCreate] Generating default config file: u'/home/magellan/.ipython/profile_default/ipython_config.py'
[ProfileCreate] Generating default config file: u'/home/magellan/.ipython/profile_default/ipython_notebook_config.py'
[ProfileCreate] Generating default config file: u'/home/magellan/.ipython/profile_default/ipython_nbconvert_config.py'

설정파일 중 /home/magellan/.ipython/profile_default/ipython_notebook_config.py 열어서 아래처럼 수정한다.

# c.NotebookApp.ip = '127.0.0.1'
c.NotebookApp.ip = '0.0.0.0'

 

 

다시 ipython notebook을 실행해보자.

 

(ipython_env)magellan@ucloud:~$ ipython notebook
2013-10-24 17:22:12.454 [NotebookApp] Using existing profile dir: u'/home/magellan/.ipython/profile_default'
2013-10-24 17:22:12.460 [NotebookApp] Using MathJax from CDN: http://cdn.mathjax.org/mathjax/latest/MathJax.js
2013-10-24 17:22:12.480 [NotebookApp] Serving notebooks from local directory: /home/magellan
2013-10-24 17:22:12.481 [NotebookApp] The IPython Notebook is running at: http://0.0.0.0:8888/
2013-10-24 17:22:12.481 [NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

접속주소가 http://0.0.0.0:8888/ 로 된 것을 확인할 수 있다.

이제 웹브라우저에서 http://서버주소:8888 로 접속하면 ipython notebook 화면을 볼 수 있다.

Cap 2013-10-24 17-34-06-710