Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存

  首先去Python官网下载python3的源码包,网址:https://www.python.org/

  由于之前做一个什么东西忘了,只支持2.7和3.5,对别的版本的没有良好的支持,所以虽然现在版本已经进化了很多,对于3.X本人依旧选用3.5版本的python

进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code,就是源码包的意思,这里选择最新版本3.5.1,当然下面也有很多其他历史版本,点进去之后页面下方可以看到下载链接,包括源码包、Mac OSX安装包、Windows的安装包

  

  这里选择第一个下载即可,下载的就是源码包:Python-3.5.1.tgz,下载好之后上传到服务器,开始准备安装

  释放文件:

tar -xvzf Python-3.5.1.tgz

  进入目录:

cd Python-3.5.1/

  添加配置:

./configure --prefix=/usr/python

  这里配置自己的安装目录,接下来编译源码:

make

  执行安装:

make install

  整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python

  系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.6

  我们可以把这个删除,也可以新建一个python3的软链接,只不过执行时python要改成python3,或者python脚本头部声明要改为#!/usr/bin/python3

  这里为了方便建议先重命名一下,然后建立个软链接就可以了,之前的程序头部也不用更改:

$ mv /usr/bin/python /usr/bin/python.bak
$ ln -s /usr/python/bin/python3 /usr/bin/python

  这样就建立好了,以后直接执行python命令,就相当于调用python3,实际上python3也是个软链接,链接到python3.5.1,这个多次链接其实不影响,主要是为了版本升级更加方便,不用改版本号了

  python3新版本的安装就是这些,不用卸载旧版本,新版本同样正常使用

当然如果想不覆盖原来的python的话直接在bin目录下创建一个python3的软连接即可。

此方法没有pip

=============================================================

如果要有pip需要先安装yum install openssl-devel

或者openssl和...分开安装,然后

安装一个yum install zlib-devel

,之后官网下载setuptools

tar -zxvf setuptools-19.6.tar.gz

python3 setup.py build

python3 setup.py install

完成后再从对应官网链接下载一个pip

tar -zxvf pip-9.0.1.tar.gz

python3 setup.py build

python3 setup.py install

之后再次进行python3.5的make和make install

基本就可以了

备注:中间过程中如果有bz2的压缩,用jxvf

centos下安装python的过程的更多相关文章

  1. centos下安装python

    下载网址:http://ftp.gnu.org/gnu/gdb/ 1.编译python必须安装开发工具 # yum groupinstall "Development tools" ...

  2. centos下 安装python相关

    centos 安装python相关 python3 https://blog.csdn.net/tanxiaob/article/details/78725301 yum -y install zli ...

  3. CentOS 下安装python 之MySQLdb

    yum -y install mysql-devwget http://downloads.sourceforge.net/project/mysql-python/mysql-python-test ...

  4. Centos下安装Python的问题汇总

    Python下载地址(https://www.python.org/ftp/python/) 一.工具安装 1.Python的安装 tar vxf Python-2.7.13.tgz cd Pytho ...

  5. 64位centos下安装python的PIL模块

    http://blog.csdn.net/xiaojun1288/article/details/8673529

  6. CentOS 6.5下安装Python 3.5.2(与Python2并存)

    CentOS 6.5下安装Python 3.5.2(与Python2并存) 安装步骤 1,准备编译环境(环境不对,在安装过程中可能遇到各种问题.比如wget无法下载链接的文件) yum groupin ...

  7. c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具

    c#实例化继承类,必须对被继承类的程序集做引用   0x00 问题 类型“Model.NewModel”在未被引用的程序集中定义.必须添加对程序集“Model, Version=1.0.0.0, Cu ...

  8. CentOS 6 下安装Python 3

    可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http ...

  9. centos 7下安装python 3.6笔记

    每次在centos上安装python 3都需要重新查资料,这次索性自己记下笔记. 首先安装gcc yum -y install gccyum install zlib-devel./configure ...

随机推荐

  1. docker中自定ingress网络

    在某些时候,docker自动生成的ingress网络会与服务器上已经存在的网络产生冲突,这个时候,你需要自定义ingress. 在自定义前,你需要删除所有有端口发布的服务. 使用命令docker ne ...

  2. batik-all-1.7

    处理highcharts导出图片出现中文乱码所用到的jar包

  3. Oracle中的rownum不能使用大于>的问题

    标题:Oracle中的rownum不能使用大于>的问题 一.对rownum的说明 关于Oracle 的 rownum 问题,很多资料都说不支持SQL语句中的“>.>=.=.betwe ...

  4. 【转】2013 PHP技术峰会《Bug Free的PHP开发实践分享》摘录

    要想代码写的好,前提配置做的好 error_reporting  =  E_ALL | E_STRICT display_errors = 测试机设置为 On,生产机设置为 Off display_s ...

  5. empty() isset() isnull() 比较

    有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应 ...

  6. PHP Socket 简单使用

    <?php /*socket收发数据 @host(string) socket服务器IP @post(int) 端口 @str(string) 要发送的数据 @back 1|0 socket端是 ...

  7. Linux网络配置&进程管理

     原理图 查看ip和网关

  8. ConcurrentHashMap 中putIfAbsent 和put的区别

    putIfAbsent 源代码 public V putIfAbsent(K key, V value) { Segment<K,V> s; if (value == null) thro ...

  9. #warning Incomplete method implementation怎么修改?

    #warning Incomplete method implementation怎么修改?       各位朋友,我在做一个表格视图的例子,在tableview方法里总有几个warning:#war ...

  10. 关于session序列化和session钝化和活化

    在第一次启动服务器后,在session中放入一个对象.在页面可以获得,当重启服务器,但是没有关闭浏览器的情况下刷新页面仍然能够获得这个对象,前提是这个对象必须实现了java.io.Serializab ...