CentOS6的python2.6升级到python2.7以上版本(可能更详细)
前言:一些第三方框架为了降低复杂性,新的版本已经开始不支持旧版本的python,比如Django这个web框架1.8版本及以上仅仅只支持python2.7及以上版本(记忆中是这个1.8版本)
pip安装也会弹出响应警告。安装过程中遇到各种各样的问题,在众里寻他千百度情况下,通过一大堆错误的搜索,终于把python版本给升级了。
但这个版本升级不是完全的替换,只是让我们新版本的python可以用pip正常安装我们需要的第三方模块。
CentOS7默认的python版本是2.7.5所以,就以这个版本为例,如果想要将python升级到python3.x应该也是相同原理
CentOS6.5系统安装
先查看python版本
、命令行输入python(如果python版本是2.7以上则跳过下面步骤) 升级python2.--》python2.7以上版本 使用yum安装wget工具(存在则跳过)
yum install wget
将下载文件统一下载到home目录下
cd /home
下载和编译python2.7.5
下载时候可以自己到官网找自己想要的2.7以上版本官网地址:www.python.org/ftp/python
wget https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
解压缩文件
tar -zxvf Python-2.7..tgz (z是压缩格式,x为解压,v为显示过程,f指定备份文件)
进入解压后的文件
cd Python-2.7.
检测是否有编译环境如gcc,配置安装路径,装在Python27目录下
./configure --prefix=/usr/local/Python27
在这里可能会报错没有编译环境
安装编译集成包
yum groupinstall "Development tools"
重新检查,和设置安装路径
./configure --prefix=/usr/local/Python27
make编译源文件
make 安装编译后的文件
make install
安装完成,python就会被安装到/usr/local/Python27目录下面的,然后我们替换系统自带的python2.
先备份原版python
mv /usr/bin/python /usr/bin/python.bak
建立python2..5指向系统/usr/bin/的软连接(也就想当与windows的快捷方式)让系统使用新版的python
ln -s /usr/local/Python27/bin/python2. /usr/bin/python
到这里我们输入python就会在命令行显示我们新版的python2.7.5 但安装完后我们python2..5的模块还是空了,连setuptools工具都没有,pip也没有,我们yum安装功能也用不了
先解决yum问题,输入下面命令查看旧版python的全名应该会有一个python2.
ls /usr/bin |grep python
编辑yum的脚本文件
vi /usr/bin/yum
把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.6就是把旧版本python作为yum的执行环境,保存退出后yum安装即可正常运行。
setuptools模块安装到新版python2.7目录lib/site-packages/下
下载setuptools官网地址:https://pypi.python.org/pypi/setuptools
好像只有setuptools-38.6.-py2.py3-none-any.whl (md5)和setuptools-38.6..zip (md5)两种包
官方推荐使用.whl包,但还不知道怎么安装,
直接下载zip包(2018年3月16号下载)
cd /home
wget https://pypi.python.org/packages/95/b9/7c61dcfa6953271f567a8db96f110cd8cf75e13a84c1d293649d584d2d39/setuptools-38.6.0.zip
解压zip包
unzip setuptools-38.6..zip
进入解压目录
cd setuptools-38.6.
使用新版本的python安装
python setup.py install
在这里会报错,Compression requires the (missing) zlib module。缺少zlib模块
先安装缺少的模块
yum install zlib
yum install zlib-devel
将python2..5重新进行编译安装
cd /home/Python-2.7.
编译,如果有报错,先跳过,直接下一步
make
安装
make install
进入到setuptools-38.6.0目录
cd /home/setuptools-38.6.
再次安装,应该不会再报错了
python setup.py install
pip模块的安装
同上,官网地址https://pypi.python.org/pypi/pip ,下载压缩包
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
tar -zxvf pip-9.0..tar.gz
cd pip-9.0.
由于pip安装包依赖于setuptools模块,所以可以直接安装
python setup.py install 到这里,就完成的版本的基本升级。
后面就可以通过pip进行软件安装
、pip版本的升级,由于替换的新版本python,安装pip可能不是最新版,先进行pip的升级
pip install --upgrade pip
接下来可以测试下pip是否更新成功
查看pip版本
pip --version
CentOS6的python2.6升级到python2.7以上版本(可能更详细)的更多相关文章
- Centos6.7 python2.6升级到python2.7
查看python版本: #python -V Python 2.6.6 1.下载python 2.7.3 #wget http://python.org/ftp/python/2.7.3/Python ...
- centos自带python2.6升级到python2.7。并解决yum pip easy_install pip等模块兼容性问题
参考原文: https://www.cnblogs.com/kimyeee/p/7250560.html https://www.cnblogs.com/galaxy-gao/p/5796488 ...
- 把python2.6升级到python2.7(同样适用于把python2升级到python3)
在启用https过程中,在生成CSR(证书请求文件)时,报错了,说python2.6已被python团队抛弃了,所以升级python到2.7 话不多说,直接上代码: 步骤1:下载python2.7.1 ...
- centos python2.6 升级到 python2.7
一开始有这个需求,是因为用 YaH3C 替代 iNode 进行校园网认证时,一直编译错误,提示找不到 Python 的某个模块,百度了一下,此模块是在 Python2.7 以上才有的,但是系统的自带的 ...
- Linux下安装pip(遇到了python2.6升级为python2.7道路上的坑,原因已经找到,只差临门一脚了,以后补上)
1.先说一下什么是pippip 是“A tool for installing and managing Python packages.”,也就是说pip是python的软件安装工具2.下面介绍怎么 ...
- CentOS6.5自带Python2.6.6升级至Python2.7
CentOS6.5中Python2.6升级到Python2.7 由于Python开发团队已不再支持2.6版本,且该版本对一些软件不支持,因此将2.6升级到2.7. 1.安装Python2.7: 下载源 ...
- centos6 自带python2.6升级python2.7+
centos6系统自带Python为2.6.6版本,升级搞版本操作如下(python2-python3都一样) 1.下载需要升级的python包 官方下载地址:https://www.python.o ...
- 技巧方法 - CentOS6将Python2.6.6升级到Python2.7.6
1.首先使用“python -V”命令查看python版本,我们测试主机显示的是2.6.6版,于是下面就着手将python2.6.6升级到Python2.7.6.python -V #查看python ...
- Python 2.6.6升级到Python2.7.15
最近在使用Python处理MySQL数据库相关问题时,需要用到Python2.7.5及以上版本,而centos6.5等版本操作系统默认自带的版本为2.6.6,因此需要对python进行升级. Pyth ...
随机推荐
- ASP.NET MVC 使 Controller 的 Action 只接受 Ajax 请求。
首先,ajax 请求跟一般的 web 请求本质是相同的,都是 http 请求.理论上服务器端是无法区分该次请求是不是 ajax 请求的,但是,既然标题都已经说了,那么肯定是有办法做的. 在 ajax ...
- easyui-combobox url绑定后台json数据问题
<input id="line" name="line" style="max-width:120px;" class="e ...
- JS下对日期进行比较
20181019更新一个获取指定日期的function //获取指定日期 function getBeforeDate(n) { var n = n; var d = new Date(); var ...
- 解决win10不显示coreldraw x4/5/6菜单栏
1.下载插件 https://pan.baidu.com/s/1nQ1kgUNSD7-9sjUbv5M6XA 复制链接下载插件 2.导入插件到工作区 3.设置工具栏显示 4.把工具栏拖动到菜单栏位置, ...
- 简单了解 iTextSharp实现HTML to PDF
查了下 转PDF的各种框架 发现大部分都是收费的. 发现一款免费的iTextSharp 就想玩一下 只是简单做个HTML 转PDF 没有过深的探究. 首先 我在项目中引入iTextSharp ...
- MYSQL社区版安装手册
https://www.jb51.net/article/140412.htm 在本教程中使用MySQL最新的MySQL服务8.0.11的社区绿色版本进行安装,绿色版为zip格式的包,安装分为以下四步 ...
- Console命令,让js调试更简单
一.显示信息的命令 console.log("normal"); // 用于输出普通信息 console.info("information"); // 用于输 ...
- django 自定义中间件 middleware
Django 中间件 Django中的中间件是一个轻量级.底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出.中间件的设计为开发者提供了一种无侵入式的开发方式,增强 ...
- mybatis中单个参数的引用
单个参数时在test条件中不能用参数名来引用,可以使用_parameter
- Java程序员的日常—— Spring Boot单元测试
关于Spring boot 之前没有用Spring的时候是用的MockMvc,做接口层的测试,原理上就是加载applicationContext.xml文件,然后模拟启动各种mybatis\连接池等等 ...