CentOS6.5 下将 Python2.6.6 升级到Python3.5
一、 从Python官网到获取Python3的包, 切换到目录/usr/local/src
#wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz
二、 使用命令如下命令进行解压缩:
xz -d Python-3.5..tar.xz // 将xz文件解压
tar -xf Python-3.5..tar
三、 在/usr/local路径下创建目录--python3.5, 为第4步的安装目录
$mkdir /usr/local/python3.
四、 编译安装
$cd /usr/local/src/Python-3.5.
#./configure --prefix=/usr/local/python3.
#make all
#make install
#make clean
#make distclean
五、 进入安装的绝对路径,检查是否安装成功
$ /usr/local/python3./bin/python3. -V
Python 3.5.
六、查看环境变量,启动python时默认按照PATH的顺序进行查找,在/usr/bin中的python此时为Python2.6.6的。
$echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/gordon/bin
七、修改软连接,启动python时指向python3.5
1、备份python
mv /usr/bin/python /usr/bin/python2.6.6 // 备份centos中默认2.6.6的python
2、修改软连接
sudo ln -s /usr/local/python3./bin/python3 /usr/bin/python
3、 验证默认是否启动python3.5
$ python -V
Python 3.5.
八、此时,系统中的yum命令将不能使用,因为其依赖原来的python2.6.6 修改yum的第一行:
vim /usr/bin/yum
#!/usr/bin/python2.6.6
可能还需要修改该路径下的第一行
vim /usr/libexec/urlgrabber-ext-down 将 #! /usr/bin/python 改成 #!/usr/bin/python2.6.6
遇到的错误:
升级了python之后,需要重新安装pip命令。要不然pip安装的路径会出错。(因为之前安装python的时候,可能设置--prefix参数),最好是用源码安装的方式重新安装(http://www.cnblogs.com/hoojjack/p/8672612.html)
1、pip 错误
[root@docker Python-3.5.]# pip
Traceback (most recent call last):
File "/usr/bin/pip", line , in <module>
from pip._internal import main
ImportError: No module named 'pip._internal'
说明pip的映射文件没有安装正确,在安装python3.5时,默认会安装pip3.5
备份原来系统默认的:mv /usr/bin/pip /usr/bin/pip_bak,创建pip3.5的软链接 ln -s /usr/local/bin/pip3.5 /usr/bin/pip
[root@docker local]# mv /usr/bin/pip /usr/bin/pip_bak
[root@docker local]# ln -s /usr/local/bin/pip3. /usr/bin/pip
[root@docker local]# pip Usage:
pip <command> [options]
2、You are using pip version 7.1.2, however version 10.0.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command.
[root@docker local]# pip install --upgrade pip
3、升级后,交互模式下方向键、退格键 Backspace 等出现乱码的问题。
yum install readline readline-devel
如果发现系统中已经有readline 库了,只是在/lib64/目录中,于是乎,做了软链到/usr/lib/ 和 /usr/lib64/
ln -s /lib64/libreadline.so.6 /usr/lib/
ln -s /lib64/libreadline.so.6 /usr/lib64/
ln -s /lib64/libreadline.so.6.0 /usr/lib/
ln -s /lib64/libreadline.so.6.0 /usr/lib64/
重新编译安装一遍python35,问题可以解决。
Reference:
[1] https://blog.csdn.net/nkd50000/article/details/79257881
[2] https://alfred-long.iteye.com/blog/1959853
CentOS6.5 下将 Python2.6.6 升级到Python3.5的更多相关文章
- 在CentOs6.5下安装Python2.7.6和Scrapy
总在网上看大家的安装教程,这回自己也贡献一份!!! 和民航大学合作项目,去给人家装环境,连简单的Scrapy都没装上,虽然有对方硬件设施坑爹的因素,但主要还是自己准备不充分. 一份好的安装文档应该是可 ...
- MacOS下,Python2和Python3完美兼容使用(转)
问题阐述: MacOS默认Python版本是2.7.10,随着Python3的进一步占有市场,Python2.7也将在2020年结束维护,所以在同一台电脑上安装多个Python版本势在必行. 一.py ...
- CentOS6 系统下升级python后yum命令使用时报错
CentOS6 系统下升级python后yum命令使用时报错,如下: [root@xxxxxxx]#yumFile"/usr/bin/yum",line30exceptKeyboa ...
- python环境搭建-Linux系统下python2.6.6升级python3.5.2步骤
[root@template ~]# python -v # /usr/lib64/python2.6/encodings/utf_8.pyc matches /usr/lib64/python2.6 ...
- 如何将Mac OS X10.9下的Python2.7升级到最新的Python3.3
Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧.基本步骤如下. 第1步:下载Python3.3 下载地址如下: Python ...
- linux/centos6.5下编译安装python2.7和python3.5.2
centos6.5环境下安装python2.7 解压python源码包 tar -xf Python-2.7.6.tar.xz 进入软件包目录 cd Python-2.7.6 添加配置项 ./conf ...
- 技巧方法 - CentOS6将Python2.6.6升级到Python2.7.6
1.首先使用“python -V”命令查看python版本,我们测试主机显示的是2.6.6版,于是下面就着手将python2.6.6升级到Python2.7.6.python -V #查看python ...
- centos6/7 下升级openssl并安装python3
今天是2019年的最后一天了,看了看自己今年写的随笔就一篇,实在有点少得可怜,就想着趁现在有点时间就再写一篇,^_^ centos6 或者centos 7 python 默认都是安装python 2 ...
- [转载] centos6.x x64 安装python2.7
本文转载自: http://www.centoscn.com/image-text/install/2016/0323/6906.html CentOS的设计理念中有一点是:持久可用.要达到这个目的, ...
随机推荐
- hive 表优化
一.外部表和内部表的区别 (1)创建表时指定external关键字,就是外部表,不指定external就是内部表 (2)内部表删除后把元数据和数据都删除了,外部表删除后只是删除了元数据,不会删除hdf ...
- WebGL 浏览器函数
1.requestAnimationFrame(func) 请求浏览器在将来某时刻回调函数func以完成重绘.requestAnimationFrame()成功的一个关键是确定你在执行其他用户diam ...
- 求字符串长度StringLength();
// StringLength2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int StringLength(char str[]) ...
- linux下.so、.ko、.a的区别
各类文件的区别与作用: 1.对于.so文件 .so文件是用户层的动态链接库,用于用户层的动态链接使用,内核态的代码同样不能直接访问. 2.对于.ko文件 .ko文件是内核态的动态链接库,用于内核态的动 ...
- 给你的 Golang 程序添加 GUI (使用 Electron )
https://studygolang.com/articles/12065?fr=sidebar https://www.jianshu.com/p/a3be0d206d4c 另一种思路 推荐方式 ...
- Eclipse------导入项目后出现Java compiler level does not match the version of the installed Java project facet
报错信息:Java compiler level does not match the version of the installed Java project facet 解决方法: 1.点击工具 ...
- ios开发之--字符串局部改变颜色
改变指定位置字符的颜色,代码如下: NSString *descStr = @"楼主"; NSString *nickStr = [NSString stringWithForma ...
- swift--浮点数转换成整数(四舍五入/直接截断)
1,直接截取小数部分转换成整数 let i = Int(23.52536) print("输出是:\(i)") 2,四舍五入转换成证书 let q = lround(586.565 ...
- C语言对文件的基本操作
在C语言中,对于文件的操作是利用FILE结构体进行的. 几个常用的操作文件函数简介 1:打开文件 FILE *fopen( const char *filename, const char *mode ...
- 使用tinyproxy搭建http代理
一.前言 二.搭建环境 * Linux laptop 2.6.32-45-generic #100-Ubuntu SMP Wed Nov 14 10:41:11 UTC 2012 i686 GNU ...