• 安装python3.6可能使用的依赖

  • # yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel


  • Before installing python 3.6 you need to install the libraries needed.

  • sudo apt-get install build-essential checkinstall 
    sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev
  •              libgdbm-dev libc6-dev libbz2-dev
  • Do you have these installed on the PI?


  • 安装相关的软件包 避免出现编译出错,无法编译,升级之后无法使用等情况

[root@yuhai ~]# yum install -y zlib* readline* gcc*#过程忽略
  •  从Python官网下载python3.6.1的安装包

[root@yuhai ~]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz--2017-03-22 22:04:24--
https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgzResolving www.python.org (www.python.org)... 
151.101.72.223, 2a04:4e42:11::223Connecting to www.python.org (www.python.org)|151.101.72.223|:443... 
connected.HTTP request sent, awaiting response... 200 OKLength: 22540566 (21M)
 [application/octet-stream]Saving to: ‘Python-3.6.1.tgz’
 100%[====================================================================>] 22,540,566  33.4KB/s   
 in 12m 14s2017-03-22 22:16:40 (30.0 KB/s) - ‘Python-3.6.1.tgz’ saved [22540566/22540566]
 [root@yuhai ~]# lsanaconda-ks.cfg  Python-3.6.1.tgz
  • 解压安装包

[root@yuhai ~]# tar -xzvf Python-3.6.1.tgz       #解压安装包
[root@yuhai ~]# lsanaconda-ks.cfg  Python-3.6.1  Python-3.6.1.tgz
  • 进入目录并编译在/user/local/python3.6下

[root@localhost ~]# cd Python-3.6.1
[root@yuhai Python-3.6.1]# mkdir /usr/local/python3.6
[root@yuhai Python-3.6.1]# ./configure --prefix=/usr/local/python3.6过程省略
[root@yuhai Python-3.6.1]# make过程省略
[root@yuhai Python-3.6.1]# make altinstall过程省略
  • 备份原本的python2.7.5

[root@yuhai Python-3.6.1]# mv /usr/bin/python /usr/bin/python_2.7.5
  • 把编译出来的Python3.6.1的命令创建软连接到/usr/bin/python

[root@yuhai Python-3.6.1]# ln -s /usr/local/python3.6/bin/python3.6 /usr/bin/python
  • 查看现在的Python版本

[root@yuhai Python-3.6.1]# python -VPython 3.6.1
  • 还原到2.7.5版本

[root@a ~]# mv /usr/bin/python /usr/bin/python_3.6.1     #移动并重命名
[root@a ~]# mv /usr/bin/python_2.7.5 /usr/bin/python     #移动并重命名[root@a ~]# python -V                                    #查看版本信息Python 2.7.5

 

CentOS7 下安装Python3

1. 下载并安装Python3

  1. 较难安装python扩展
    wget https://www.python.org/ftp/python/3.6.0/Python-3.6.1.tgz
    tar -xzvf Python-3.6.1.tgz
    cd /Python-3.6.1/
    ./configure --prefix=/usr/local    #把Python3.6安装到 /usr/local 目录
    ./configure --enable-optimizations #最大性能安装
    sudo make
    sudo make altinstall  
  2. 选择此种安装模式
    yum install python34-setuptools

2. 更改/usr/bin/python软链接

  cd /usr/bin
  mv  python python.backup  
  ln -s /usr/local/bin/python3.6 /usr/bin/python  
  ln -s /usr/local/bin/pip3 /usr/bin/pip

3. 更改yum脚本的python依赖

  cd /usr/bin
  ls yum*
  yum yum-config-manager yum-debug-restore yum-groups-manager
  yum-builddep yum-debug-dump yumdownloader
  更改以上文件头为  #!/usr/bin/python 改为 #!/usr/bin/python2.7

4. 修改gnome-tweak-tool配置文件

  vim /usr/bin/gnome-tweak-tool
  #!/usr/bin/python 改为 #!/usr/bin/python2.7

5. 修改urlgrabber配置文件

  vim /usr/libexec/urlgrabber-ext-down
  #!/usr/bin/python 改为 #!/usr/bin/python2.7

6. 安装python扩展

  yum install epel-release  # EPEL即Extra Packages for Enterprise Linux,
  # 为CentOS提供了额外的10000多个软件包
  # 在不替换系统组件方面下了很多功夫,因而可以放心使用。
  1. 自定义安装和升级
    yum install python-pip
    pip install --upgrade pip
    pip install numpy==1.12.1 #利用python安装特定的extent版本
    # 解决默认pip指向Python2而不是python3的问题
  # 手动安装pip
  2. 手动安装pip模式
    wget https://bootstrap.pypa.io/get-pip.py
    python get-pip.py12345678910111213

7. matplotlib.pyplot 不能正常show出图形的解决方案

  yum install tkinter # 安装tkinter # 失败  # ftp://ftp.kddlabs.co.jp/lang/tcl/ftp.scriptics.com/
  tar -zxf ....
  ./configure
  make
  make install
  make uninstall/distclean/veryclean


CentOS7升级Python至2.7.13版本


第一步:查看Centos版本及python版本:

Centos版本查看

[root@localhost tuffy]#  cat /etc/centos-release

CentOS Linux release 7.3.1611 (Core)

[root@localhost tuffy]#

Python版本查看:

[root@localhost tuffy]# python -V

Python 2.7.5

[root@localhost tuffy]#

第二步:从官网下载相应的Python包(以2.7.13为例):

[root@localhost tuffy]# cd /home/

[root@localhost tuffy]# wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz

--2017-04-11 20:44:38--  https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz

正在解析主机 www.python.org (www.python.org)... 151.101.88.223, 2a04:4e42:15::223

正在连接 www.python.org (www.python.org)|151.101.88.223|:443... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:17076672 (16M) [application/octet-stream]

正在保存至: “Python-2.7.13.tgz”

100%[==============================================>] 17,076,672  47.9KB/s 用时 7m 53s

2017-04-11 20:52:34 (35.2 KB/s) - 已保存 “Python-2.7.13.tgz” [17076672/17076672])

[root@localhost tuffy]#

第三步:解压Python包:

[root@localhost tuffy]# tar -zxvf Python-2.7.13.tgz

第四步:配置编译环境:

[root@localhost tuffy]# yum install gcc* openssl openssl-devel ncurses-devel.x86_64  bzip2-devel sqlite-devel python-devel zlib

第五步:配置、编译、安装:

[root@localhost tuffy]# cd Python-2.7.13

[root@localhost Python-2.7.13]# ./configure --prefix=/usr/local   #[配置]指定可执行文件、库文件、配置文件、资源文件的安装路径。若没有权限加sudo

[root@localhost Python-2.7.13]# make  #编译

[root@localhost Python-2.7.13]# make altinstall  #不要使用make install,否则会覆盖系统自带python

第六步:安装后环境监察:

备份旧版本

[root@localhost Python-2.7.13]# mv /usr/bin/python /usr/bin/python2.7.5

访问老版本用:

[root@localhost bin]# python2.7.5

连接新版本

[root@localhost Python-2.7.13]# ln -s /usr/local/bin/python2.7 /usr/bin/python # 增加连接

查看当前版本

[root@localhost bin]# python -V

Python 2.7.13

[root@localhost bin]#

修改yum配置

[root@localhost bin]# vim /usr/bin/yum

首行的#!/usr/bin/python 改为 #!/usr/bin/python2.7.5

[root@localhost bin]# vim /usr/libexec/urlgrabber-ext-down

首行的#!/usr/bin/python 改为 #!/usr/bin/python2.7.5

第七步:安装pip

wget https://bootstrap.pypa.io/get-pip.py

python get-pip.py

ln -s /usr/local/bin/pip2.7 /usr/bin/pip   #建立软连接