服务器上搭建jupyter notebook运行环境

如何在云服务器上搭建jupyter notebook运行环境(解决配置完成后,登陆密码错误的问题)

近在学习机器学习,于是在云端搭建一个jupyter notebook的运行环境。由于网上已有详细的各种资料可供参考,因此本文的目的是整合一个完整的搭建思路及纠正博客中的一些问题。

搭建环境主要分为两步:

安装anaconda

安装jupyter包及配置环境

Linux服务器(无桌面)安装anaconda

由于需要安装Python,鉴于anaconda具有强大的包管理能力,强烈推荐安装anaconda这个Python的发行版本。

在Linux中安装anaconda的详细过程已在博客 Linux安装Anaconda 中有详细介绍,这里不再赘述。

注: 在下载anaconda时可以登录网站archive 中选择要安装的版本,并将下载命令中的版本号更换。

anaconda的简单介绍

博客 致Python初学者们 - Anaconda入门使用指南 有详细的介绍,如果想深度了解的同学,也可查阅官方文档 Docs

搭建 Jupyter Notebook 环境

在开始搭建前,建议用anaconda 创建一个虚拟环境。具体操作参考上面文档。

以下类容参考如何在云端服务器运行Jupyter Notebook? 与官方文档 Running a notebook server 。由于参考博客存在一些时效性的问题,下面给出更改版。

安装Jupyter 包:

conda install jupyter 

由于ipython Notebook要求https连接,因此我们需要创建一个ssl证书(该证书没有认证):


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

命令执行后根据提示输入信息就好,接下来我们创建一个密文的密码(官网提供了一个产生密码的函数:notebook.auth.security.passwd):


python -c "import IPython; print(IPython.lib.passwd())"    #   原文时Python3以前的语法

运行之后进入一个创建密码hash 值的小程序,根据提示输入你想用的安全口令:


Enter password:
Verify password:
sha1:..  # 保存下来,下面有用

获取默认配置地址(如果没有则创建配置文件):


jupyter notebook --generate-config

进入上面的地址,修改文件jupyter_notebook_config.py ,添加内容:

c = get_config()

# 所有matplotlib的图像都通过iline的方式显示
c.IPKernelApp.pylab = 'inline'
# 这一行指向我们刚刚创建的ssl证书
c.NotebookApp.certfile = u'/home/..../mycert.pem'
# 给出刚刚创建的密码的哈希值
c.NotebookApp.password = u'sha1:....... '
c.NotebookApp.ip = '*'
#  给出运行的端口,ipython默认为8888
c.NotebookApp.port = 8888
#  禁止在运行ipython的同时弹出浏览器
c.NotebookApp.open_browser = False

( 有问题,手动修改.py配置文件来配置密码不会修改jupyter_notebook_config.json配置文件,而.json的优先级高于.py配置文件,因此不能达到更改密码的目的 ,会造成登陆密码错误的问题。解决办法在下面)

密码没有修改的问题解决

  1. 运行下面命令,重新设置密码(该方法会修改.json.py配置文件, 以后想更改jupyter notebook的密码也可以使用该命令。)


jupyter notebook password
  1. 在运行时指定配置文件(只需运行一次即可更新.json配置文件,后面再运行时不用添加路径信息)


jupyter notebook --config = /home.../ipython_notebook_config.py   # .py配置文件的路径

配置完毕以后就可以运行ipython Notebook的服务端了:


jupyter notebook

通过提示,在浏览器中输入黄色的地址(注意更改IP),访问服务器端,输入密码即可登陆:


你可能感兴趣的:(数据挖掘)