最近安装了新系统centos7,本身自带python2.7,但是由于需要使用python3 来运行一些应用,所以想到在centos环境下安装python3,并保证其和python2 可以共存。

步骤如下:

1. 确认  现有python 版本          python -V

2. 查询执行文件的位置          which python

3安装相关包,用于下载编译python3

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

或者如下命令

  1. yum -y install zlib zlib-devel
  2. yum -y install bzip2 bzip2-devel
  3. yum -y install ncurses ncurses-devel
  4. yum -y install readline readline-devel
  5. yum -y install openssl openssl-devel
  6. yum -y install openssl-static
  7. yum -y install xz lzma xz-devel
  8. yum -y install sqlite sqlite-devel
  9. yum -y install gdbm gdbm-devel
  10. yum -y install tk tk-devel
    yum -y install ncurses ncurses-devel
  1.  

4.  执行文件在/usr/bin/ 目录下,切换到该目录下执行 ll python* 命令查看

5.  可以看到 只有 python2,   将其做备份

mv python python.bak

mv python-config python-config.bak

6.   下载 源文件

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz

7.解压

tar -xvJf  Python-3.6.4.tar.xz

切换进入

cd Python-3.6.4

8.  配置环境

./configure prefix=/usr/local/python3

9.

运行后,提示我如下内容:(每个人出现的问题可能不同)

  1. If you want a release build with all optimizations active (LTO, PGO, etc), please run ./configure --enable-optimizations.

该提示 原因:

https://stackoverflow.com/questions/41405728/what-does-enable-optimizations-do-while-compiling-python?noredirect=1

10. 编译安装

make && make install

安装完毕,/usr/local/目录下就会有python3了。

11.  安装成功,可能已经安装好可执行文件的链接

很神奇的事情是 执行优化命令后  python3 的可执行文件 和  其他配置的执行文件  全部生成好,  但是并不在配置时的位置。

最后在文件系统中搜索,发现了安装的位置, 估计这个安装的配置时优化命令自动设置的,和 第8步中  配置环境 的设置不同, 应该是覆盖掉了。

在 /usr/bin   中 创建  python3 可执行文件的链接

ln -s /usr/local/bin/python3    /usr/bin/python3

如果没有执行优化命令(即第9步中的命令),  那么 在  /usr/bin   中生成链接:

ln -s /usr/local/python3/bin/python3    /usr/bin/python3

此时,  python3  的安装目录为  /usr/local/python3

Centos7环境下安装python3.6.4 并与python2共存的更多相关文章

  1. Linux centos7环境下安装JDK的步骤详解

    Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令:   java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...

  2. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  3. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  4. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  5. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  6. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...

  7. CentOS7环境下安装docker

    操作系统 : CentOS7.5.1804_x64 docker版本: docker-ce-18.06.3 准备环境 1.如之前安装过移除老旧版本 yum remove docker docker-c ...

  8. centos7.2下安装python3.6.2

    centos7.2默认已经安装了python2.7.5,因此要安装python3.6的话,得从python官网上下载相应版本的安装包 查看python2.7 1.下载:wget https://www ...

  9. linux系统,在centos7环境下安装jdk步骤

    记录一下安装jdk1.8版本的出错过程: 按照这个博客内容安装的,以及修改文件权限博客 [Linux]CentOS7下安装JDK详细过程 [Linux]目录文件权限的查看和修改[转] 1.安装的jdk ...

随机推荐

  1. Django restframwork获取列表详情

    z哎Django restframwork中就有一个类可以获取列表的详情内容,只有两行代码就可以搞定,在浏览器测试是ok的.但是这样的接口给前端,前端点击详情然后会将models.表名.objects ...

  2. wcf 远程服务器返回了意外响应: (413) Request Entity Too Large。

    我遇到这个问题的原因是:我使用asp.net 网站调用wcf服务后,通过方法提交数据产生的.我提交的数据是一个实体,包含很多字符串和图片格式的二进制数据超过4M 就报个错误. 后来同事帮忙解决了.他说 ...

  3. 11月26号host

    127.0.0.1 localhost255.255.255.255 broadcasthost::1 localhostfe80::1%lo0 localhost # Google start216 ...

  4. Eclipse中如何查看使用的JDK版本

    有两种方法可以查看eclipse中jdk的版本: 第一种方法: 点击开始--运行--输入cmd--点击确定--在cmd命令行窗口中输入java -version,就可以显示出当前在使用的jdk的版本号 ...

  5. 常用php操作redis命令整理(三)LIST类型

    LIST 头元素和尾元素:头元素指的是列表左端/前端第一个元素,尾元素指的是列表右端/后端第一个元素.举个例子,列表list包含三个元素:x, y, z,其中x是头元素,而z则是尾元素.空列表:指不包 ...

  6. 20145204 《Java程序设计》第6周学习总结

    20145204 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 数据流 I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据 ...

  7. 20145319 return-to-libc攻击实验

    20145319 Return-to-libc攻击实验 一 实验内容 return-to-libc实验是一个基于缓冲区溢出攻击实验的基础上的一种攻击实验 缓冲区溢出攻击相关知识: 原理:通过一段包含s ...

  8. VC++使用HOOK API 屏蔽PrintScreen键截屏以及QQ和微信默认热键截屏

    转载:http://blog.csdn.net/easysec/article/details/8833457 转载:http://www.vckbase.com/module/articleCont ...

  9. shell判断文件,目录是否存在或者具有权限的代码

    核心代码 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的 ...

  10. HDU 4300 Clairewd’s message(扩展KMP)题解

    题意:先给你一个密码本,再给你一串字符串,字符串前面是密文,后面是明文(明文可能不完成整),也就是说这个字符串由一个完整的密文和可能不完整的该密文的明文组成,要你找出最短的密文+明文. 思路:我们把字 ...