概述
由于我的开发环境是CentOS,现在主要是以Python为主,偶尔夹杂C/C++和GoLang语言。在本地开发、测试、提交git和在生产环境再去测试、开发,并且会在生产环境会有临时性的开发任务和调整,都是比较浪费时间的。不建议直接修改生产环境的代码,临时性的修改后一定要测试并稳定运行一段时间。 写这篇博客主要是为了利用线上资源,实现跨平台开发和测试代码示例用的。所以就在服务器安装了IPython,Jupyter和Notebook。
安装和配置
在安装IPython,Jupyter和Notebook时,不仅需要安装Python和Pip,而且还需要安装一些开发操作系统的工具集比如(‘Development Tools‘)。废话少说,直接写代码。
基本包安装
1 2 3 4 |
yum update -y yum install python-pip -y yum install bzip2 -y yum groupinstall "Development Tools" -y |
安装完pip之后,最好把pip源改为国内源,修改如下:
1 2 3 4 5 6 7 |
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并配置。
1 2 3 4 5 6 7 8 9 |
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即可。
1 |
pip install ipython jupyter notebook |
所有需要的安装现在全部完毕,下面我们来配置使其生效。
配置
我了实现我们自定制设置,我们需要通过如下配置来完成,我们首先要生成一个jupyter的配置文件。
1 2 |
jupyter notebook --generate-config #生成的config file在/home/user/.jupyter/jupyter_notebook_config.py |
然后我们为了比较安全的访问服务器资源,我们需要设置登录密码和设置https来实现安全登录。如果有条件可以通过安全认证中心来发放秘钥和认证。首先打开ipython,生成sha1的密码,如下:
1 2 3 4 |
from notebook.auth import passwd passwd() #Enter password #output sha1:49acd1a985cc:beb1fb6859665bfa721e65e78fc511c41basdasa. |
然后生成一个自签名认证的key,如下:
1 |
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout jkey.key -out jcert.pem |
最后如下配置即可:
1 2 3 4 5 6 7 8 |
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作为默认端口,所以我需要把端口给开放并重启防火墙。通过如下代码设置:
1 2 |
firewall-cmd --zone=public --add-port=8888/tcp --permanent systemctl restart firewalld.service |
到这里所有的安装和基本的设置都已经完成,直接在命令行输入:jupyter notebook.就可以使用了。