linux下升级python3
来源:互联网 发布:wine mac 中文 编辑:程序博客网 时间:2024/05/22 03:51
- 查看本地python版本
- 提前填坑做好准备
- 下载要安装的python版本
- 解压
- 安装配置
- 编译安装
- 验证
- 设置默认版本
- 配置yum和pip
最近购了一年的阿里云服务器,配的操作系统是CentOS 7.2 64位,默认安装了python,不过版本是2.7.5,没有配python3.5,python3还是很好用的,那我自然不能忍受了。
以下便是升级python3的过程以及一些坑。
查看本地python版本
如果安装了python,则可以使用以下命令查看其版本是多少(选任意一条都行):
python -Vpython --version
提前填坑,做好准备
先把安装python3过程中需要的其他资源安装,免得中途心烦。
- 需要安装gcc,需要用其编译。
yum install gcc
- 安装openssl-devel,否则pip会安装失败。
yum install openssl-devel
下载要安装的python版本
这里我安装的自然就是python3版本啦,更多的版本可以自行前往python官网查看。
这里我选的版本是python3.5.2,今年3月推出了python3.6,不过不知道稳定性如何,等其他人踩完坑再升级,3.5够用啦。
输入下述命令进行下载【下载慢可自行换其他源下】
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
解压
下载完自然就是解压了【废话】,先自己去到想要存放python3的目录,再进行解压。
迁移: mv Python-3.5.2.tgz XXX [XXX为你想要安装的目录位置]解压: tar -zxvf Python-3.5.2.tgz
安装配置
解压后,进入解压后的文件目录,进行安装配置
cd Python-3.5.2/./configure
注意,如果执行./configure报错:
configure: error: no acceptable C compiler found in $PATH
那就是在第二步提过的一个坑,那时候没安装gcc的话,莫慌,现在安装gcc也来得及。
yum install gcc
安装后再来一遍 “./configure ”即可。
编译安装
走到这一步就差不多了,编译下安装下即可。
编译: make 安装: make install
注意,可能又会闹脾气报错了:
Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS
这是因为SSL没有安装。执行以下:
yum install openssl-devel
验证
通过第一步查看python版本即可。
# python -VPython 2.7.5# python3 -VPython 3.5.2
说明python3.5已经安装成功了。这时候系统就有两个版本的python了,一个是2.7,另一个是3.5。
tip: 实际开发中,可能还需要更多不一样的python版本,比如这个工程项目需要python2.7,另一个项目要python3.1,还有一个要python3.5,等等,那咋整,全都安装在系统环境中那还得了,这么混乱。因此,一个较好的解决方法是采用虚拟环境,比如virtualenv。
每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
具体virtualenv的使用就不展开说明了,挺简单的,百度谷歌看下即可。
设置默认版本
执行以上步骤,已经可以使用python3开发了,不过系统默认的还是python2,具体可看:
# ls -al /usr/bin | grep pythonlrwxrwxrwx. 1 root root 7 8月 30 12:11 python -> python2lrwxrwxrwx. 1 root root 9 8月 30 12:11 python2 -> python2.7-rwxr-xr-x. 1 root root 7136 11月 20 2015 python2.7
看到这里就明白了,当我们使用命令 python的时候,它指向的是python2,而python2指向的是python2.7,这就是python默认的是python2.7的原因。
因此想要设置python3为默认版本,只要修改python的指向即可。
首先还是保留原来的链接,将原来 python 的软链接重命名。
mv /usr/bin/python /usr/bin/python.bak
再将 python 链接至 python3:
ln -s /usr/local/bin/python3 /usr/bin/python
现在你应该也知道了,使用python命令应该指向python3了。
验证一下:
# python -VPython 3.5.2# python2 -VPython 2.7.5
因此python的默认版本就是python3了,想用python2就使用命令”python2”即可。
配置yum和pip
配置完python的默认版本后,如果就这么结束了,就会留下一些隐患,日后总要偿还的。
- yum不可用
升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:
vi /usr/bin/yumvi /usr/libexec/urlgrabber-ext-down
要修改上述两个文件,分别在两个文件的第一行,将 “#!/usr/bin/python” 改为 “#!/usr/bin/python2.7”,“:wq”保存退出即可。
这样yum使用的还是python2.7,yum就可以继续使用了。
- pip不可用
# pip -V......raise VersionConflict(dist, req).with_context(dependent_req)pkg_resources.VersionConflict: (pip 9.0.1 (/usr/local/lib/python3.5/site-packages), Requirement.parse('pip==7.1.0'))# pip3 -V9.0.1 from /usr/local/lib/python3.5/site-packages (python 3.5)
会发现原来的pip不可用了,肯定也是将python指向了python3而没有修改其他配置导致的。
首先进入python2目录内,并查看pip文件
cd /usr/binls -al | grep pip-rwxr-xr-x 1 root root 284 6月 13 22:52 pip-rwxr-xr-x 1 root root 286 6月 13 22:53 pip2-rwxr-xr-x 1 root root 290 6月 13 22:53 pip2.7
打开任意一个,第一行是:
#!/usr/bin/python
这样就明白了,和yum是同个道理,因此分别修改三个文件的第一行,将 “#!/usr/bin/python” 改为 “#!/usr/bin/python2.7”即可。
注意这里修改后,只是让pip命令可用,具体使用 pip还是python2的,pip3才是python3的。
到这里,升级任务就算是结束了,是否还有其他问题暂且也没遇到,不过处理方法大致跟这两个一样即可。
- linux下升级python3
- Linux下Python2升级Python3
- Linux下python2.7.6升级python3.5.2
- Linux环境下Python2 升级为 Python3
- Linux下python安装升级详细步骤 | Python2 升级 Python3
- Linux下python安装升级 Python2 升级 Python3
- Linux 下 pip 升级遇到的问题 python3.5
- Linux安装Python3完成升级
- Linux升级python2到python3
- linux(centos)升级到python3
- linux下安装python3
- Linux下安装Python3
- Linux下安装Python3
- Linux下安装python3
- linux下安装python3
- linux下安装python3
- linux下安装python3
- linux下安装python3
- CSS之高度塌陷
- 关于重载和覆盖
- 记一次颇有意思的Log4j超大日志问题定位
- Flink批处理中的增量迭代
- java并行程序开发及优化
- linux下升级python3
- java多线程总结
- 图的存储方法
- UVa10276 HDU1329 ZOJ1239 Hanoi Tower Troubles Again!【递推函数+打表】
- mybatis入门使用4:返回对象方式
- deepin下安装docker-ce
- spark集群搭建过程
- C语言的二进制IO函数fread()和fwrite()
- PAT-A-1040. Longest Symmetric String (25)