ipython notebook 安装后, 可以在浏览器访问linux上的python代码, 并运行. 还支持markdown格式的渲染. 非常适合展示python运行过程和结果.
稍加多一点配置后, 可以让这个网站从外网访问, 不管你在办公室,家里还是哪里, 只要有个能上网的电脑(ipad, iphone不行), 就可以接着上次的进度编辑, 调试, 运行你机器上的代码. 颇有"云"的意味.
ipython notebook的基本配置
通过最直接的办法安装notebook
1 2 3 |
ubuntu: sudo apt-get install notebook |
运行ipython notebook以后看看缺少什么包, 用pip安装
运行ipython notebook:
1 |
sudo ipython notebook --port=88 --ip="*" |
访问方式:
打开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, 找到类似以下截图部分:
进一步, 想要让外网访问ipython notebook
如果离开主机后,依然有个小实验想试试. 将ipython notebook实现连接上外网, 就可以让你随便找个网吧就能继续做测试. 有点像远程控制.
1, 路由器端口转发:
找到自家路由器的设置 (类似于192.168.1.1)
在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文件:
1 |
jupyter notebook --generate-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