Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。此前我去参加中科大先研院实习生培训python讲座的时候,张教授用的就是此环境来进行python的教学。因为Jupyter Notebook 的本质是一个 Web 应用程序,支持实时代码,使用者可以方便的在浏览器窗口中进行代码的编写与编译,创建和共享文学化程序文档,所以我突发奇想,既然它是一个web程序,那我可以把它部署到我的服务器上呀!这样一来无论在何时何地,只要有网络和浏览器,我就可以便捷地进行python的学习了。
鉴于anaconda具有强大的包管理能力,强烈推荐安装anaconda这个Python的发行版本,安装过程如下。
下载安装脚本,选择要安装的Python版本和系统架构:
# Python 3.5
$ wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh # 64位系统
$ wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86.sh # 32位系统
# Python 2.7
$ wget https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh # 64位系统
$ wget https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86.sh # 32位系统
#运行安装向导:
$ bash Anaconda3-4.2.0-Linux-x86_64.sh
下载完成后,执行安装,阅读协议并输入yes同意
设置安装路径,开始安装(回车则采用默认路径)
设置环境变量,输入yes
测试安装
启动新终端;查看conda版本:
$ conda --version
#列出安装的包:
$ conda list
#更新包:
$ conda update conda
安装Jupyter 包
conda install jupyter
因为Jupyter必须要用https进行登录,所以需要生成ssl证书
openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
接下来创建jupyter的密码
#python3写法
python -c "import IPython; print(IPython.lib.passwd())"
#python2写法
python -c "import IPython;print IPython.lib.passwd()"
然后开始编辑配置文件,通过vi编辑文件的命令如下:
vi ipython_notebook_config.py
配置如下(关于vi的使用方法请自行查阅)
#注:以下配置中所涉及到的路径按照你的实际路径填写
c = get_config()
# 所有matplotlib的图像都通过iline的方式显示
c.IPKernelApp.pylab = 'inline'
# 这一行指向我们刚刚创建的ssl证书
c.NotebookApp.certfile = u'/root/mycert.pem'
c.NotebookApp.keyfile = u'/root/mykey.key'
# 给出刚刚创建的密码的哈希值
c.NotebookApp.password = u'sha1:3aa2958b6d91:c4e4d7ec83caf1c9678f67944293d2bfa1857ea4'
c.NotebookApp.ip = '*'
# 给出运行的端口,ipython默认为8888
c.NotebookApp.port = 8888
# 禁止在运行ipython的同时弹出浏览器
c.NotebookApp.open_browser = False
配置完毕以后就可以运行ipython Notebook的服务端了:
jupyter notebook --config=/root/ipython_notebook_config.py
开启成功后,你就可以通过浏览器访问https://ip:8888来访问了
注:某些云服务器设置有安全组规则,你需要将8888端口开放才可以访问,具体设置方法参见云主机服务商的配置方法。
写在后面:
这是我写的第一篇技术教程,不足之处敬请批评和指导,如果这篇教程可以帮到您,麻烦动动您的手给我点个赞,您的支持是我继续创作的最大动力,如有问题可联系QQ:784698785