LInux下(centos7.2)更新 python3.7
- 进入超级管理员目录
su root
- 下载
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
- 找到下载的文件解压
tar -xzvf Python-3.7.0.tgz
- 进入解压好的文件目录
cd Python-3.7.0
- 创建安装文件夹
kdir /usr/local/python37
- 开始编译安装
./configure --prefix=/usr/local/python37
./configure --enable-optimizations
提示:configure: error: no acceptable C compiler found in $PATH
原来是缺少C编译器,需要安装GCC套件,于是采用如下命令安装,
yum -y install gcc
顺利下载安装成功,重复操作第四步命令: ./configure --prefix=/usr/local/python3 顺利配置成功
make
make install
- 错误
错误1.
zipimport.ZipImportError: can’t decompress data,
是因为缺少zlib 的相关工具包导致的,知道了问题所在,那么我们只需要安装相关依赖包即可,
1、打开终端,输入一下命令安装zlib相关依赖包:
yum -y install zlib*1
2、进入 python安装包,修改Module路径的setup文件:
vim module/setup 1
找到一下一行代码,去掉注释:
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
去掉注释
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz123
另外,在这里说明一下,对于在安装Python安装的过程中遇到这个问题,
安装完上面的依赖包后,即可重新进入终端,进入python的安装包路径下执行:
make && make install 1
重新编译安装即可,
- 错误2
ModuleNotFoundError: No module named '_ctypes' make: *** [install] 错误 1
3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。
#yum install libffi-devel -y
#make install
- 错误 3
zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1
解决:
yum install zlib zlib-devel -y
- 设置双版本
mv /usr/bin/python /usr/bin/python_old2
- 建立连接
ln -s /usr/local/python37/bin/python37 /usr/bin/python
- PS:(更新3.5.2)
解压:tar -zxvf Python-3.5.2.tgz
进入解压目录: cd Python-3.5.2
创建安装目录: mkdir /usr/local/python3.5.2
编译: ./configure –prefix=/usr/local/python3.5.2
安装: make && make install
备份原有python:mv /usr/bin/python /usr/bin/python_2.7.5
- 第4步:建立软连接指向到当前系统默认python命令的bin目录,让系统使用新版本python
mv /usr/bin/python /usr/bin/python2.7.5 //当前python的版本为2.7.5
ln -s /usr/local/python3.5.2/bin/python3.5 /usr/bin/python
输入:
python -V
即可查看当前默认python版本
默认的python成功指向3.5.2以后,yum不能正常使用,需要修改yum的配置文件
- 第5步:修改yum配置文件
vi /usr/bin/yum
把文件头部的
!/usr/bin/python 改成 !/usr/bin/python2.7.5 //改为之前的老版本号
保存退出,yum即可正常使用。如若有其他命令、软件不能正常使用,
仿照yum配置文件的修改方法,修改其配置文件即可。至此,更新完毕。
- 第6步:修改另外一个相关的配置文件
vi /usr/libexec/urlgrabber-ext-down
该配置文件与yum install 命令有关,如果不修改该文件会报错
File "/usr/libexec/urlgrabber-ext-down", line 28 except OSError, e:
这是因为python版本不匹配:
把文件头部的 !/usr/bin/python 改成 !/usr/bin/python2.7.5 //改为之前的老版本号
LInux下(centos7.2)更新 python3.7的更多相关文章
- linux下软件的更新命令
linux下软件的更新命令 在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区 ...
- Linux下用ftp更新web内容!
使用ftp更新web!让网页更新一次OK! 配置如下: 1.在Linux下安装ftp服务器! yum -y install vsftpd #ftp由vsftpd提供! 2.配置主配置文件/etc/vs ...
- linux下切换python2和python3(转)
0x00 为什么需要有两个版本的Python Python2和Python3不兼容是每个接触过Python的开发者都知道的事,虽说Python3是未来,但是仍然有很多项目采用Python2开发.Lin ...
- Linux下切换python2和python3
为什么需要有两个版本的Python Python2和Python3不兼容是每个接触过Python的开发者都知道的事,虽说Python3是未来,但是仍然有很多项目采用Python2开发.Linux的许多 ...
- Linux 下centos7启动 Tomcat 抛出Can't connect to X11 window server 问题的解决方法
1 问题 今天启动 Tomcat 后,登录页验证码不见了.在 localhost.xxx.log 发现以下错误: org.apache.catalina.core.StandardWrapperVal ...
- linux下svn定时更新项目
方法一.用shell脚本定时更新项目 1.进入网站的根目录,假设项目位置放在/var/www/test cd /var/www/test 2.建立脚本文件update.sh,分两步进行.首先利 ...
- kali linux下几个更新命令的区分
首先更新命令有:apt-get update ,apt-get upgrade ,apt-get dist-upgrade等三个: (1)apt-get update:只更新软件包的索引源,作用:同步 ...
- linux 下svn同步更新钩子
svn服务器搭建:https://www.linuxidc.com/Linux/2017-05/144254.htm SVN版本库中的一个项目:/svn/repositories/test/ 网站目录 ...
- linux下(centos7)docker安装
参考链接https://docs.docker.com/install/linux/docker-ce/centos/ 第一步,确定是centos7及以上版本 cat /etc/redhat-rele ...
- Linux 下SVN自动更新
1.找到svn的所在目录: 我的目录在/usr/local/svn/myproject 2.新建post-commit vim hooks/post-commit #!/bin/shexport LA ...
随机推荐
- 前端进击的巨人(五):学会函数柯里化(curry)
柯里化(Curring, 以逻辑学家Haskell Curry命名) 写在开头 柯里化理解的基础来源于我们前几篇文章构建的知识,如果还未能掌握闭包,建议回阅前文. 代码例子会用到 apply/call ...
- 让Java线程池实现任务阻塞执行的一种可行方案
Java的线程池一般是基于concurrent包下的ThreadPoolExecutor类实现的, 不过当我们基于spring框架开发程序时, 通常会使用其包装类ThreadPoolTaskExecu ...
- Linux_CentOS-服务器搭建 <六>
修改MySQL编码: 二话不说先登录: mysql -u root -p 查看下神奇的mysql系统变量及其值: show variables like '%character%'; //记住分号哦, ...
- tls1.2 rfc5246
注:本文省略了部分开发协议才涉及到的内容,如字段类型的定义以及字段长度的运算,主要聚焦理解tls协议的运作方式,用于问题定位 tls协议包含2层协议:TLS Record 协议和TLS Handsha ...
- Vue + Element UI 实现权限管理系统 前端篇(十一):第三方图标库
使用第三方图标库 用过Elment的同鞋都知道,Element UI提供的字体图符少之又少,实在是不够用啊,幸好现在有不少丰富的第三方图标库可用,引入也不会很麻烦. Font Awesome Font ...
- PHP四大基本排序算法实例
PHP四大基本排序算法包括:冒泡排序法,快速排序法,选择排序法,插入排序法. 1. 冒泡排序 思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往 ...
- filezilla通过root账户远程连接管理ubuntu server服务器文件
前言: 准备重温一下今天在工作中遇见的一个问题,在刚刚安装上的server上测试,做好的文件不是很好传到server项目目录,于是使用了filezilla这个工具,它可以使用ssh来连接,于是乎就引入 ...
- Go语言学习笔记(一) [Go语言的HelloWorld]
日期:2014年7月18日 1.简介 Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系 ...
- 源码编译安装MySQL8.0
源码编译安装MySQL8.0 0.前期准备条件 查看linux的版本 [root@mysql etc]# cat /etc/redhat-release CentOS Linux release 7. ...
- SQL查询语句如何能够让指定的记录排在最后
方法如下:select * from <表名> order by case when <条件> then 1 else 0 end asc 举例:把threads表中列id值小 ...