基于CentOS7安装Jupyter Notebook

作者: 0行痴0 | 来源:发表于2017-04-06 22:56 被阅读2115次

    概述

    由于我的开发环境是CentOS,现在主要是以Python为主,偶尔夹杂C/C++和GoLang语言。在本地开发、测试、提交git和在生产环境再去测试、开发,并且会在生产环境会有临时性的开发任务和调整,都是比较浪费时间的。不建议直接修改生产环境的代码,临时性的修改后一定要测试并稳定运行一段时间。 写这篇博客主要是为了利用线上资源,实现跨平台开发和测试代码示例用的。所以就在服务器安装了IPython,Jupyter和Notebook

    安装和配置

    在安装IPython,Jupyter和Notebook时,不仅需要安装Python和Pip,而且还需要安装一些开发操作系统的工具集比如('Development Tools‘)。废话少说,直接写代码。

    基本包安装

    yum update -y
    yum install python-pip -y
    yum install bzip2 -y
    yum groupinstall "Development Tools" -y
    

    安装完pip之后,最好把pip源改为国内源,修改如下:

    mkdir ~/.pip
    cat > ~/.pip/pip.conf << EOF
    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=mirrors.aliyun.com
    EOF
    

    由于服务器的生产环境的packages较多,版本也不一致,所以需要安装virtualenv和virtualenvwrapper并配置。

    pip install virtualenv virtualenvwrapper
    nano .bashrc或者.bash_profile
    #设置虚拟独立python环境目录
    export WORKON_HOME=$HOME/xxxx
    #设置创建项目的目录
    export PROJECT_HOME=$HOME/xxxx
    source /usr/local/bin/virtualenvwrapper.sh
    #退出然后运行如下命令
    source .bashrc或者.bash_profile
    

    现在只需要通过pip安装IPython,Jupyter和Notebook即可。

    pip install ipython jupyter notebook
    

    所有需要的安装现在全部完毕,下面我们来配置使其生效。

    配置

    我了实现我们自定制设置,我们需要通过如下配置来完成,我们首先要生成一个jupyter的配置文件。

    jupyter notebook --generate-config
    #生成的config file在/home/user/.jupyter/jupyter_notebook_config.py
    

    然后我们为了比较安全的访问服务器资源,我们需要设置登录密码和设置https来实现安全登录。如果有条件可以通过安全认证中心来发放秘钥和认证。首先打开ipython,生成sha1的密码,如下:

    from notebook.auth import passwd
    passwd()
    #Enter password
    #output sha1:49acd1a985cc:beb1fb6859665bfa721e65e78fc511c41basdasa.
    

    然后生成一个自签名认证的key,如下:

    openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout jkey.key -out jcert.pem
    

    最后如下配置即可:

    emacs /home/user/.jupyter/jupyter_notebook_config.py
    c.NotebookApp.password = 'sha1:<your-sha1-hash-value>'
    c.NotebookApp.port = 8888
    c.NotebookApp.ip = '*'
    c.NotebookApp.open_browser = False
    c.NotebookApp.certfile = '/home/user/jcert.pem'
    c.NotebookApp.keyfile = '/home/user/jkey.key'
    #保存退出即可
    

    使用

    由于jupyter使用的8888作为默认端口,所以我需要把端口给开放并重启防火墙。通过如下代码设置:

    firewall-cmd --zone=public --add-port=8888/tcp --permanent
    systemctl restart firewalld.service
    

    到这里所有的安装和基本的设置都已经完成,直接在命令行输入:jupyter notebook.就可以使用了。

    相关文章

      网友评论

      • Liam_ml:"/home/user/jcert.pem" does not exist
        是什么原因

      本文标题:基于CentOS7安装Jupyter Notebook

      本文链接:https://www.haomeiwen.com/subject/fsrcattx.html