zoukankan      html  css  js  c++  java
  • (转)LINUX CENTOS7下安装PYTHON

    LINUX CENTOS7下安装PYTHON

    原文:http://www.cnblogs.com/lclq/p/5620196.html

    Posted on 2016-06-27 14:58 南宫羽香 阅读(8506) 评论(5) 编辑 收藏

    1.查看是否已经安装Python

    Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。

    使用python -V命令查看一下是否安装Python:

    然后查看一下Python可执行文件的位置:

    进入到bin目录:

    可以看到可执行文件python指向python2,python2又指向python2.7也就是说Python命令执行的系统预装的Python2.7。

    要安装Python的其他版本先执行mv python python.bak命令备份python文件。

    2.安装新版本的Python

    下载Python新版本https://www.python.org/downloads/source/

    下载tgz包就可以了。其实下面的2个包其一都可以使用
    Python-3.5.1.tgz (这个不是编译过的东西,不能解压之后直接使用)
    Python-3.5.1.tar.xz (这个是pthon的源码)

    讲下载的tgz包上传到Linux服务器。

    或者执行wget命令直接下载到服务器:wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz

    解压缩:tar -zxvf Python-3.5.1.tgz

    加压缩之后该目录下出现Python-3.5.1文件夹,进入到文件夹下执行编译安装。

    执行 ./configure --prefix=/usr/local/python/python3 命令。./configure命令执行完毕之后创建一个文件creating Makefile,供下面的make命令使用 执行make install之后就会把程序安装到我们指定的目录中去。

    Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。

    其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放
    在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。

    如果配置--prefix,如:
    ./configure --prefix=/usr/local/test
    可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
    用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,
    就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

    当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

    然后执行make、make install命令。

    安装成功之后进入到python3文件夹可以看到Python的可执行文件目录、lib目录等相关目录。

    执行ln -s /usr/local/python/python3/bin/python3 /usr/bin/python命令创建软连接。执行python -V查看Python是否安装成功。

    安装成功:

    3.修改yum配置文件

    因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5

    因此修改yum配置文件(vi /usr/bin/yum)。

    把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可。

    因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5因此修改yum配置文件(vi /usr/bin/yum)。把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可

  • 相关阅读:
    list和set的区别
    day13
    11期
    接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
    Object类?
    swith的用法和注意事项?
    Ioc和DI的区别?
    多态的好处?
    抽象和接口的区别?
    内部类,匿名内部类?
  • 原文地址:https://www.cnblogs.com/liujiacai/p/7467343.html
Copyright © 2011-2022 走看看