Centos7下不删除python2.x的情况下安装python3.x

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

1、下载linux平台的python3.x的安装包(我下载的是python3.6版本)

[[email protected] ~]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

2、解压python3.6安装包

[[email protected] ~]# tar xf Python-3.6.1.tgz
[[email protected] ~]# ll
total 22024
-rw-------.  1 root root     1238 Jun 25 10:54 anaconda-ks.cfg
drwxr-xr-x. 17  501  501     4096 Mar 21 03:47 Python-3.6.1
-rw-r--r--.  1 root root 22540566 Mar 21 03:47 Python-3.6.1.tgz

3、安装python3.6,默认安装路径为/usr/local

  --prefix=PREFIX install architecture-independent files in PREFIX
  [/usr/local]

#安装报错,缺失依赖库
[[email protected] Python-3.6.1]# ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for python3.6... no
checking for python3... no
checking for python... python
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... linux
checking for --without-gcc... no
checking for --with-icc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/root/Python-3.6.1‘:
configure: error: no acceptable C compiler found in $PATH
See `config.log‘ for more details
#安装依赖库
[[email protected] Python-3.6.1]# yum install gcc

#安装python3.6
[[email protected] Python-3.6.1]# make && make install

#make && make install 报错
zipimport.ZipImportError: can‘t decompress data; zlib not available
make: *** [install] Error 1
#安装zlib-devel
[[email protected] Python-3.6.1]# yum install zlib-devel

4、python3.6已安装成功,在/usr/local下生成命令python3

[[email protected] local]# ll /usr/local/bin/
total 24656
lrwxrwxrwx. 1 root root        8 Jun 25 11:22 2to3 -> 2to3-3.6
-rwxr-xr-x. 1 root root      101 Jun 25 11:22 2to3-3.6
-rwxr-xr-x. 1 root root      242 Jun 25 11:22 easy_install-3.6
lrwxrwxrwx. 1 root root        7 Jun 25 11:22 idle3 -> idle3.6
-rwxr-xr-x. 1 root root       99 Jun 25 11:22 idle3.6
-rwxr-xr-x. 1 root root      214 Jun 25 11:22 pip3
-rwxr-xr-x. 1 root root      214 Jun 25 11:22 pip3.6
lrwxrwxrwx. 1 root root        8 Jun 25 11:22 pydoc3 -> pydoc3.6
-rwxr-xr-x. 1 root root       84 Jun 25 11:22 pydoc3.6
lrwxrwxrwx. 1 root root        9 Jun 25 11:22 python3 -> python3.6
-rwxr-xr-x. 2 root root 12604536 Jun 25 11:21 python3.6
lrwxrwxrwx. 1 root root       17 Jun 25 11:22 python3.6-config -> python3.6m-config
-rwxr-xr-x. 2 root root 12604536 Jun 25 11:21 python3.6m
-rwxr-xr-x. 1 root root     3097 Jun 25 11:22 python3.6m-config
lrwxrwxrwx. 1 root root       16 Jun 25 11:22 python3-config -> python3.6-config
lrwxrwxrwx. 1 root root       10 Jun 25 11:22 pyvenv -> pyvenv-3.6
-rwxr-xr-x. 1 root root      441 Jun 25 11:22 pyvenv-3.6

5、使用python3命令查看版本

[[email protected] local]# python3 -V
Python 3.6.1
[[email protected] local]# python3
Python 3.6.1 (default, Jun 25 2017, 11:20:12)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.

参考:http://www.cnblogs.com/freeweb/p/5181764.html

时间: 2024-09-30 20:55:21

Centos7下不删除python2.x的情况下安装python3.x的相关文章

一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断?

我们有2台内部http服务(nginx): 201:这台服务器部署的服务是account.api.91160.com,这个服务是供前端页面调用: 202:这台服务器部署的服务是hdbs.api.91160.com,    这个服务是供前端页面调用: 近期发现,这2台服务器的网络连接中,TIME_WAIT 数量差别很大,201的TIME_WAIT大概20000+,202的TIME_WAIT大概1000 ,差距20倍:2台的请求量差不多,都是以上内部调用的连接,且服务模式也没有什么差异,为什么连接数

什么情况下使用break关键字? 什么情况下使用Continue关键字? Java如何声明一个数组?JS如何声明一个数组?如何获取数组长度? 如何遍历数组?

什么情况下使用break关键字?什么情况下使用Continue关键字? Break Break关键用于终止循环. 示例: 1 2 3 4 5 6 for (int i = 0; i < 10; i++) {   if (i == 4) {     break; //终止循环,后面的循环不再执行   }   System.out.println(i); } Continue Continue关键字用于终止本次循环,其它循环继续. 示例: 1 2 3 4 5 6 7 for (int i = 0;

使用mongoVUE删除大量数据的情况下失效问题

昨天有一个系统出现了问题,导致半夜时大量的错误数据产生,早晨一早接到上边通知让把这些数据尽数删除. 不可否认在数据操作时mongoVUE更加直观,因此一般情况下我也都是使用这个工具,但是今天却出现了问题. 首先我查询了一下需要删除的数据的数据量,查询操作正常,如图: 然后一样的条件执行删除remove操作,结果就卡在那里许久之后弹出错误提示框如下: 几次尝试后均是如此,于是我只好改道使用系统中的命令行进入mongo shell中执行操作删除,这些数据终被删除,如图: 由此可见,熟悉命令行操作还是

VC6下 try catch 在release下的杯具(默认情况下,要加上throw语句catch才不会被优化掉)

IDE:VC6 今天遇到一个小问题,把我郁闷了好久,××医生的VulEngine不时在wcsstr处发生crash,加了一番强大的参数检查后,再加上了强大的try catch,其实不是很喜欢用try和catch,总觉得一个完美的程序,应该代码的每一处都可以被程序员控制的,我倾向如对函数的返回值和参数进行强制的检查,当然这就要求你自己设计的函数必须也得满足这些要求,不过事情牵扯到读写文件,处理字符串等等繁琐的操作,偶尔用一用try catch是比较简洁的,我在wcsstr前后加上异常处理代码后,d

在Windows下如何创建虚拟环境(默认情况下)

很多小伙伴平时在使用Python的时候,有的项目需要使用Python2来进行开发,有的项目则是需要Python3来进行开发.当不清楚怎么分开环境的时候,此时两个环境开始打架,彼此傻傻分不清楚.虚拟环境作为隔离的利器应运而生,其实虚拟环境最大的好处就是将我们的开发环境进行隔离,让彼此相互不受影响.今天,小编给大家简单的介绍一下如何在Windows下创建虚拟环境,具体的教程如下. 1.虚拟环境需要用到的库是virtualenv,需要使用安装命令pip install virtualenv进行安装,如

Ubuntu系统下如何在不重启的情况下永久修改hostname主机名

刚在Vmware下安装了一个Ubuntu的操作系统,打开终端后发现主机名这个长啊,整个窗口都被占满了. 使用hostname修改主机名,运行命令:"hostname 新主机名" #hostname test-vm 这个修改只是临时的,修改完成需要重新打开终端窗口才会变. 而且修改过之后,再执行命令的时候就需要等待很长时间,并提示无法解析主机 这时需要修改hosts文件,来修改主机名到本机IP的映射. 要永久的修改hostname需要修改文件/etc/hostname sudo vi /

webview在同种分辨率的情况下,屏幕密度不一样的情况下,自动适配页面:

DisplayMetrics dm = getResources().getDisplayMetrics(); int scale = dm.densityDpi; if (scale == 240) { // webView.getSettings().setDefaultZoom(ZoomDensity.FAR); } else if (scale == 160) { webView.getSettings().setDefaultZoom(ZoomDensity.MEDIUM); } el

Python多版本情况下四种快速进入交互式命令行的操作技巧

因为工作需求或者学习需要等原因,部分小伙伴的电脑中同时安装了Python2和Python3,相信在Python多版本的切换中常常会遇到Python傻傻分不清楚的情况,今天小编整理了四个操作技巧,以帮助大家解决这个"心头之痛". 1.直接在命令行窗口中输入命令"python",便可以进入命令行了,如下图所示. 不过此时默认弹出的是Python2版本,这是因为小编的电脑中Python的环境变量将Python2放在了Python3的前面,所以默认是弹出Python2版本.

android textView 替文字添加下划线 删除线

android textView 为文字添加下划线 删除线android textview 添加下划线 中划线 删除线tv=(TextView)findViewById(R.id.tvId);tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG); //删除线//Paint.UNDERLINE_TEXT_FLAG 下划线 XAMARIN: TextView text = FindViewById<TextView>(Resource.Id.xxx