远程访问ipython notebook

ipython notebook默认情况下运行在http://localhost:8888/,只能本机访问
目标:在服务器上运行ipython notebook, 在本地浏览器访问 

服务器操作系统centos7,开发环境python 2.7
本地mac OS

1、安装
$ pip install ipython[notebook]
$ ipython notebook
如果报错" ImportError: No module named notebookapp", 则
$ pip install jupyter 

virtual env下的bug
我的python开发环境是virtual env , 路径在~/env2.7
装完jupyter依然报错 "ImportError: No module named notebookapp"
(env 2.7) $ which python
~/env2.7/bin/ipython  
jupyter装在虚拟环境里,ipython也在虚拟环境里,
不知何故,启动ipython时却是去全局找,当然找不到
那就强行启动virtual env下的ipython
(env 2.7) $ ~/env2.7/bin/ipython notebook


2、在服务器运行ipython notebook
$ ipython notebook --no-browser --port=8889

3、网络配置
centos7 下开放端口
$ sudo systemctl status firewalld
$ sudo firewall-cmd --zone=public --add-port=8889/tcp --permanent
在本地新建隧道
$ ssh -N -f -L localhost:8888:localhost:8889 user@remotehost
-N 告诉SSH不执行远程命令,用于端口转发
-f   让SSH后台运行,也可以不设-f,前台运行
-L  列出端口转发的配置,remote port 8889 -> local port 8888 

4、本地访问
打开浏览器
新建一个notebook

最简单的,从sklearn导入著名的iris数据集

或者从seaborn里导入


5、远端画图的注意事项
数据可视化常常用到matplotlib 和 seaborn
服务器上没有显示器
在notebook里import matplotlib.pyplot as plt的时候
会报“ImportError: No module named Tkinter”的错,则
$sudo yum install tkinter

接着,报“TclError: no display name and no $DISPLAY environment variable”的错
在导入之前,加上%matplotlib inline


6、 关闭隧道
手动找到然后kill掉
 $ps aux|grep 8889 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值