最新消息:

IPython notebook搭建

Python admin 4356浏览 0评论

 

IPython比Python本身自带的IDLE强大太多了,今天稍窥一角,叹服不已。0.12引入的notebook功能更是强大到震憾。

notebook是web based IPython封装,但是可以展现富文本,使得整个工作可以以笔记的形式展现、存储,对于交互编程、学习非常方便。安装步骤有点小麻烦,依赖稍多。在自己机器上windows版本是安装ok的,下面按照windows的安装说一下。也可以直接参考官方安装说明

1、安装Python

这个是必须的,现在是python2.7.3了,在http://www.python.org/download/下载。按照自己的平台下载对应的版本,然后安装即可。

2、安装IPython

IPython的官网很容易找到,在baidu/google中输入”ipython”,就能很容易的找到:ipython.org/,可以自行找到IPython的下载,或者直接访问http://pypi.python.org/pypi/ipython获取最新的ipython即可。

下载完成IPython后,解压,通过命令python setup.py install来安装。

安装完毕后,会在你的python目录下出现一个Scripts的目录,ipython的一些主要文件都在里面。

ps:有的教程说安装完IPython后还需要安装pyreadline(http://pypi.python.org/pypi/pyreadline),其实在安装IPython时已经自带的将其安装了。当然,如果你的IPython没有自动将其安装,去上面连接下载pyreadline安装即可。

20140113175251

3、安装pyzmq

notebook是基于web的,而套接字信息传递使用的是zeromq,所以需要安装。

http://pypi.python.org/pypi/pyzmq找到最新的版本下载安装。安装文件可能是egg格式的,你需要安装一下easy_install,这个东西baidu一下就ok,安装完毕后在你的python目录下的Scripts中应该就能找到它,然后用它安装egg即可。

ps:我是去http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyzmq下载的安装版的pyzmq-14.0.1.win32-py2.7.exe,直接安装即可,很是方便。

4、安装Tornado

因为notebook是基于web的,因此需要一个web server,官方用的是Tornado。在http://www.tornadoweb.org/找到最新版本安装。

ps:我是直接在命令行下通过pip install  tornado 来安装的

20140113175720

5、安装MathJax

ipython的一大特点就是支持科学计算,为了能够方便地显示数学符号、公式,需要MathJax的支持。安装很简单,打开一个IPython的shell,然后键入如下代码:

from IPython.external.mathjax import install_mathjax
install_mathjax()

20140113175956

6、安装jinja2

通过命令pip install jinja2来安装该模块。

20140113180121

 

———————————————————————————————————————————————

执行完上述几步后,IPython notebook就成功安装了。启动notebook分为本地notebook和远程访问notebook。本地notebook是指只能本机访问,其他人不能通过网络访问。远程访问notebook是指不仅本机可以访问,其他人通过网络亦可访问。

  • 启动本地notebook

随便找一个shell,在windows里,最简单的cmd.exe就行,键入:

ipython.exe notebook

即可。

  • 远程访问notebook

如果需要远程访问,就稍微麻烦一点:

首先,需要建立一个server的config,通过在命令行键入:

ipython profile create nbserver

20140113194201

然后,修改新建的profile,即ipython_notebook_config.py(命令行会有输出,告诉你生成的文件在哪里),默认的config文件都是被注释掉的,你需要至少修改如下的项:

c = get_config()

# Kernel config
c.IPKernelApp.pylab = 'inline'  # if you want plotting support always

# Notebook config
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:bcd259ccf...your hashed password here'
# It's a good idea to put it on a known, fixed port
c.NotebookApp.port = 9999

(1)但是,你需要注意的是,我们还没有mycert.pem,这个也很简单,使用openssl生成一个就行,如果你手头有linux机器的话就极其简单了:

$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

20140113200344

20140113200504

(2)要配置上面的password,需要生成一串哈希后的密钥,随便开一个IPython的shell键入:

In [1]: from IPython.lib import passwd
In [2]: passwd()

设定你的密码即可(现在0.13版还不支持多人的notebook,因此只能单用户使用,只支持一个密码罢了,多用户功能处在开发中)。

20140113195806

好了,现在启动你的public的IPython notebook吧:

ipython notebook --profile=nbserver

然后你就可以在浏览器里远程访问你的IPython notebook了。

 

ps:上面端口要选取一个没被占用的,我刚开始选取9999,结果启动后一直报错,最后选了10000端口就没事了。另外远程访问是https的,访问后输入设置的口令即可登录。当然,由于在远程访问启动和本地启动由于用的是不同端口,所以本机两种方式都可使用,不会相互影响。

20140113203523

参考资料:

1、IPython notebook搭建   

2、制作IPython notebook的便携环境

3、ipython notebook

4、运行基于Web的notebook

5、Data Science in a Box using IPython: Installing IPython notebook (2/4)

 

转载请注明:jinglingshu的博客 » IPython notebook搭建


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /usr/share/nginx/html/wp-content/themes/d8/comments.php on line 17
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址