概述
由于我的开发环境是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:'
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.就可以使用了。