ipython notebook 配置

ipython notebook 安装后, 可以在浏览器访问linux上的python代码, 并运行. 还支持markdown格式的渲染. 非常适合展示python运行过程和结果. 

稍加多一点配置后, 可以让这个网站从外网访问, 不管你在办公室,家里还是哪里, 只要有个能上网的电脑(ipad, iphone不行), 就可以接着上次的进度编辑, 调试, 运行你机器上的代码. 颇有"云"的意味.


ipython notebook的基本配置

 

通过最直接的办法安装notebook 
 

 

运行ipython notebook以后看看缺少什么包, 用pip安装
 

运行ipython notebook:

 

访问方式:

打开linux本机上的浏览器, 输入: localhost:88 就可以打开网页了. 


拓展访问方式

爱折腾的pythoner肯定不满足于本机浏览器访问, 喜欢做一点拓展:

如果ipython运行的机器是linux, 想要在windows主机上访问这个网页:

做好 port forward. 在虚拟机里让本机端口的88转移到虚拟机端口的88. 这样就可以在本机浏览器通过 

localhost:88

访问了 

如果你的虚拟机是nat网络, 那么你本机会给他分配一个虚拟的ip, 假如是 192.168.25.1, 那么你在本机的浏览器可以通过这样的方式访问:

192.168.25.1:88

如何直到虚拟ip是多少, 如果你的本机是windows, 那么在cmd下, 输入ipconfig, 找到类似以下截图部分:

ip

进一步, 想要让外网访问ipython notebook

如果离开主机后,依然有个小实验想试试. 将ipython notebook实现连接上外网, 就可以让你随便找个网吧就能继续做测试. 有点像远程控制. 

1, 路由器端口转发:

找到自家路由器的设置 (类似于192.168.1.1)

forward

在forwarding (端口转发)这里, 添加: 

  • service port: 10688
  • ip address: 192.168.1.106
  • internal port: 88

并将自己主机在路由器上固定一个固定ip: 192.168.1.106 (106 可以是任何数字)

2.防火墙端口规则:

在自己主机上的防火墙设置里, 新增一个规则, 允许对端口10688 ,以及88的进出. (忘了是10688 还是88, 反正都开了也没事)

这个防火墙既包括ESET这样的杀毒软件, 也包括windows自带防火墙. 但是印象中不包括360

3, 找到自家ip. 

自家ip可以通过google/baidu: ip  来获得

比如自己家ip是 1.2.3.4

 

那么一切顺利的情况下. 可以通过浏览器访问: 1.2.3.4:10688 来访问ipython notebook

如果不行, 可以通过一些手段来找错. 这些方式就不提了. 

 

想要通过域名来访问ipython notebook

在给别人演示的时候, 不大愿意输入自家ip, 或者忘记自家ip, 那么可以通过域名DNS来实现. 

到域名服务商里面申请一个域名, 比如: iamagooddomain.com

然后将域名解析到你的自家ip. 就可以通过:

iamagooddomain.com:10688 访问了

如果不想花钱, 那么可以用一些公司提供的免费二级域名. 这个就不在讨论范围之内了.

 


问题:

Problem

盛传的这个命令无法试用:

ipython notebook –profile=xxprofile:

Unrecognized alias: '–profile=xxprofile', it will probably have no effect.

Answer:

这个用法过时了. 最新的ipython和jupytor发生一些改动.

你肯定是使用ipython notebook profile create xxprofile 

并且ipython –version 

肯定给出4.0.0 或者以上的版本. 

因为4.0以上的ipython 会忽略上面那条命令生成的在~/.ipython/ 下的文件夹中的config 文件. 

 

那么, 正确的姿势应该是:

1. 创建config文件:

以上将会在 ~/.jupyter/ 下创建默认config 文件: jupyter_notebook_config.py

 

2. 对这个文件进行编辑(密码, cert, port, ip, 等)

 

3. 然后

以 jupyter notebook 方式启动

或者 ipython notebook 方式启动, 都会运行:~/.jupyter/ 下的文件. 

 

BUT: 如何创建个性化profile?

不知道, 懒的找了.

 

 

参考连接:

http://stackoverflow.com/questions/31974797/ipython-notebook-wont-read-the-configuration-file

https://jupyter.readthedocs.org/en/latest/config.html