安装环境:

  操作系统:Centos7-x86-64minimal


一.安装pyenv

  pyenv是python的多版本管理器,他能在系统上实现Python的多版本共存,但又不会影响系统自带的python。

安装git

 yum -y install git
安装pyenv
 git clone git://github.com/yyuu/pyenv.git ~/.pyenv
 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
 echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
 echo 'eval "$(pyenv init -)"' >> ~/.bashrc
 exec $SHELL -l


二.安装python

 查看可安装的版本

 

pyenv install --list

 该命令会列出可以用pyenv安装的Python版本


其中形如 x.x.x 这样的只有版本号的为python官方版本,其他的形如 xxxxx-x.x.x 这种既有名称又有版本后的属于“衍生版”或发行版。

安装python的依赖包在安装Python时需要首先安装其依赖的其他软件包,已知的一些需要预先安装的库如下。

 yum -y install readline readline-devel readline-static
 yum -y install openssl openssl-devel openssl-static
 yum -y install sqlite-devel
 yum -y install bzip2-devel bzip2-libs


安装指定版本

 使用如下命令即可安装python 3.4.2:

pyenv install 3.4.2 -v


该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包后重新执行该命令。

对于科研环境,更推荐安装专为科学计算准备的Anaconda发行版, pyenv install anaconda-2.1.0 安装2.x版本, pyenv install anaconda3-2.1.0 安装3.x版本;

Anacoda很大,用pyenv下载会比较慢,可以自己到Anaconda官方网站下载,并将下载得到的文件放在 ~/.pyenv/cache 目录下,则pyenv不会重复下载。

更新数据库安装完成之后需要对数据库进行更新:

 pyenv rehash


查看当前已安装的python版本

 pyenv versions
 system (set by /home/seisman/.pyenv/version)


其中的星号表示当前正在使用的是系统自带的python。

设置全局的python版本

 pyenv global 3.4.2
 pyenv versions

当前全局的python版本已经变成了3.4.2。也可以使用 pyenv local 或 pyenv shell 临时改变python版本。


确认python版本

python -V


使用python

 输入 python 即可使用新版本的python;

 系统自带的脚本会以 /usr/bin/python 的方式直接调用老版本的python,因而不会对系统脚本产生影响;

 使用 pip 安装第三方模块时会安装到 ~/.pyenv/versions/3.4.2 下,不会和系统模块发生冲突。

 使用 pip 安装模块后,可能需要执行 pyenv rehash 更新数据库;


三.安装jupyter

1.安装编译工具gcc gcc-c++ patch

2. 安装pyzmq

 Pyzmq是zeromq的Python绑定。zeromq是一个消息内核,从网络通信的角度看,它处于会话层之上,应用层之下,有了它,你甚至不需要自己写一行的socket函数调用就能完成复杂的网络通信工作。

3. 安装tornado

 Tornado是python编写的非阻塞式服务器,它使用epoll管理连接,每秒可以处理数以千计的连接,是一个理想的 Web 实时处理框架。

4. 安装Jinja2

 Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能。其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能,这对大多应用的安全性来说是非常重要的。

5. 安装jsonschema

 jasonschema 用来描述Json数据格式,Json模式有多种用途,其中之一就是实例认证。

6. 安装jupyter

 从前面安装的组件可以看出,jupyter实际就是个tornado框架的web应用,使用MQ进行消息管理


 命令:

 yum -y install gcc gcc-c++ patch
 pip3.4 install pyzmq tornado jinja2  jsonschema  jupyter


7.刷新数据库,不然找不到命令

pyenv rehash


8.将jupyter加入服务列表

  vi /lib/systemd/system/jupyter.service

  修改成如下:

[Unit]
Description=juyper
After=network.target
[Service]
Tpye=forking
EnvironmentFile=/root/.pyenv/shims/jupyter-notebook
ExecStart=/root/.pyenv/shims/jupyter-notebook --ip=*
ExecStop=/usr/bin/pkill notebook
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target



设置开机启动

 systemctl enable juyper.service


启动juyper

 systemctl start juyper.service

 

查看juyper服务的当前状态

wKioL1bvlbLz8TyxAAB2jl900lI205.png


四.使用juyper-notebook 

  关闭防火墙
   systemctl stop firewalld.service
  关闭selinux
   setenforce 0


wKioL1bvllTAejkkAACIaGnNwDA012.png


 神奇的练习开始

  wKioL1bvlpXx97BdAACLfW4ciqQ823.png