在CentOS7下同时安装、使用Python2.x和Python3.x

一般情况下,各类Linux操作系统是会默认安装Python2.x的,在最新的CentOS7.4版本中,发现系统默认只安装了Python2.x,而且是很多系统组件的依赖包,不推荐卸载。目前Python3.x逐渐流行,相信在不久的将来将取代Python2.x。如何在我们的系统内同时安装、使用Python2.x与Python3.x呢?

由于Python2.x系统默认已经安装,所以我们只需要下载Python3.x版本进行设置、安装即可。

下载Python3.x,下载地址可以去Python官网上寻找。

[root@Geeklp-Python Python-3.6.3]# curl -O https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

解压已经下载完成的源码包:

[root@Geeklp-Python Python-3.6.3]# tar -xvJf Python-3.6.3.tar.xz

如果你的系统没有安装gcc的话,你还需要先完成gcc的安装:

[root@Geeklp-Python Python-3.6.3]# yum -y install gcc

把zlib(一般情况下zlib已经安装)及zlib-devel也安装上,免得之后编译、安装过程报错:

[root@Geeklp-Python Python-3.6.3]# yum -y install zlib zlib-devel

后来在使用pip时发现有报错:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

发现还需要安装openssl-devel,安装openssl-devel时,zlib-devel会作为依赖包被安装。所以安装了openssl-devel就不需要安装其他的了!

直接安装openssl-devel:

[root@Geeklp-Python Python-3.6.3]# yum -y install openssl-devel

当前的工作目录为:/usr/local/share/Python-3.6.3,依次执行:

[root@Geeklp-Python Python-3.6.3]# ./configure --prefix=/usr/local/share/applications/Python3.6.3
[root@Geeklp-Python Python-3.6.3]# make&&make install

从上图我们可以看到,本次安装同时还安装了pip(版本为9.0.1)

新建软连接:

[root@Geeklp-Python Python-3.6.3]# ln -s /usr/local/share/applications/Python3.6.3/bin/python3.6 /bin/python3
[root@Geeklp-Python Python-3.6.3]# ln -s /usr/local/share/applications/Python3.6.3/bin/pip3 /bin/pip3

输入python3,如果出现以下内容说明已经安装成功!

一般情况下,不建议修改原来的python2.x的配置信息。写python2.x脚本时申明解释器时请使用:#!/bin/python。写python3.x脚本时申明解释器是请使用:#!/bin/python3,这样的话通过./即可运行python脚本,很方便。如果不申明解释器,则运行时分别使用python或python3,后面跟脚本的全名。使用pip的时候为了便于区分,键入pip3来以示区别。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程坑太多

一个简单的Django项目

16740
来自专栏散尽浮华

python案例-用户登录

要求: •输入用户名密码 •认证成功后显示欢迎信息 •输错三次后锁定 1 #!/usr/bin/env python 2 # -*- coding:utf-...

37370
来自专栏Python

linux每日命令(5):mkdir命令

linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

15020
来自专栏挖坑填坑

Asp.net+Vue2构建简单记账WebApp之三(使用Vue-cli构建vue.js应用)

17030
来自专栏决胜机器学习

PHP网络技术(六)——session及与cookie的比较

PHP网络技术(六) ——session及与cookie的比较 (原创内容,转载请注明来源,谢谢) 一、概念 session是持续的、双向性的...

40970
来自专栏Java技术栈

如何让Git记住用户名和密码

每次提交代码都要输入用户名密码,十分麻烦,教大家怎么让Git记住密码。 Https记住密码 永久记住密码 git config --global credent...

49250
来自专栏smy

windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案

为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php...

23130
来自专栏小二的折腾日记

服务器-Nginx模块化结构

习惯上将Nginx分为:核心模块、标准模块、可选HTTP模块、邮件服务模块和第三方模块五大类。

8720
来自专栏章鱼的慢慢技术路

Linux网络的设置

2K50
来自专栏王磊的博客

Ubuntu下安装配置JDK1.7

1、下载JDK 对于下载方法,可以使用命令,也可以手动下载。本人采用手动下载jdk的方式。 下载jdk-7u7-linux-i586.tar.gz到Ubuntu...

32840

扫码关注云+社区

领取腾讯云代金券