centos系统python2.7更新到3.5
1. 下载Python-3.5.2
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
2.安装
(报错no acceptable C compiler found in $PATH时,安装gcc: yum -y install gcc)
(无权限时切换到root用户: sudo -i)
解压:tar -zxvf Python-3.5.2.tgz
进入解压目录: cd Python-3.5.2 #所在目录 /home/username/Python-3.5.2
创建安装目录: mkdir /usr/local/python-3.5.2
编译: ./configure --prefix=/usr/local/python-3.5.2 # 软件安装位置/usr/local/python3.5.2
安装: make && make install
备份原有python:mv /usr/bin/python /usr/bin/python-2.7
创建软连接:ln -s /usr/local/python-3.5.2/bin/python3.5 /usr/bin/python #一定要注意是python3.5,为应用程序名字,如下图中bin目录

3. 查看版本
python --version
4. 兼容性问题
由于python2 和python3 之间的语法兼容性,部分python做为驱动的软件使用会出现问题。如
运行yum install lrzsz 报错:
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
这是由于yum程序采用以前的python2.7解释器,现在换成python3.5语法不支持。需要更新yum,或者更该yum文件。这里选择更该yum文件,步骤如下:
1 切换到root用户 sudo -i
2 打开编辑 vi /usr/bin/yum
将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python-2.7"即可
(注意这里的python-2.7为更新python时进行备份的名称,见上面命令——备份原有 python:mv /usr/bin/python /usr/bin/python-2.7)
也可以去查看下bin目录下名称,如下图所示:

5. python环境下backspace, delete等键盘无法使用
缺少readline开发包,安装后重装python;
root权限下
a, yum install readline-devel
b, cd /home/username/Python-3.5.2
c, ./configure --prefix=/usr/local/python-3.5.2
d, make && make install
6.安装pip3
1,首先安装setuptools
下载:wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
解压:tar -zxvf setuptools-19.6.tar.gz
进入解压后目录:cd setuptools-19.6
安装:
python setup.py build
python setup.py install
(报错Compression requires the (missing) zlib module时:安装zlib,并重新编译安装python)
yum install zlib
yum install zlib-devel 进入python目录 cd /home/username/Python-3.5.2 ./configure --prefix=/usr/local/python-3.5.2 make && make install
安装zlib
2,安装pip3
下载:wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
解压:tar -zxvf pip-8.0.2.tar.gz
进入目录:cd pip-8.0.2
安装:
python setup.py build
python setup.py install 进入目录:cd /usr/local/python-3.5.2/bin
建立软连接: ln -s /usr/local/python-3.5.2/bin/pip3 /usr/bin/pip
(安装后使用pip报错:ImportError: cannot import name 'HTTPSHandler': 安装openssl
yum install openssl -y
yum install openssl-devel
然后重新编译和安装python(./configure, make install)
参考:https://www.cnblogs.com/wenchengxiaopenyou/p/5709218.html
6. xshell上传和下载文件到远程linux服务器
对于本地windows上的python文件,可以上传到远程linux的python3.5环境中运行,这样在本地环境可以为python2.7,远程为python3.5。xshell上传和下载文件步骤如下:
a,安装lrzsz: yum install lrzsz
b, 在xshell会话连接中配置如下:

c,上传文件到当前目录: rz
d, 下载文件到本地:sz filename
参考博客:https://blog.csdn.net/shenjianxz/article/details/56686449
centos系统python2.7更新到3.5的更多相关文章
- Centos系统python2.x升级python3.x
1. Centos7初始安装的python版本为2.7.5 2.下载最新的python3.5.2,解压到/usr/local/src 3. 配置.编译.测试.安装(根据软件的README说明) ./c ...
- CentOS系统初始化---不断更新中
注意EOF不能有空格tab键 #get os version release=$(rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides ...
- 使用ntp从时间同步服务器更新centos系统时间的方法
CentOS系统时间同步的步骤如下: 复制代码 代码如下: cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimentpdate us.pool.ntp ...
- CentOS系统MySQL双机热备配置
1 概述 在集成项目中需要应对不同环境下的安装配置,主流操作系统大致可以分为三种:Linux.Windows以及UNIX.其中Linux备受青睐的主要原因有两个: 首先,Linux作为自由软件有两个 ...
- 初涉定制linux系统之——自动化安装Centos系统镜像制作
最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...
- Linux修改系统以及pip更新源
Linux修改系统以及pip更新源 时间:2015-08-01来源:csdn 作者:henulwj 修改系统更新源 你是否跟我一样在刚看时接触Linux时被系统更新源问题搞得晕头转向,不同的Linux ...
- CentOS系统、Jdk、Tomcat安装实战
CentOS系统.Jdk.Tomcat安装实战 第一次接触Liunx系统,都说J2EE系统在Li ...
- Linux Centos 系统上安装BT客户端 Transmission
Linux Centos 系统上安装BT客户端 Transmission Transmission是一种BitTorrent客户端,特点是一个跨平台的后端和其上的简洁的用户界面,以MIT许可证和G ...
- Centos系统各种日志存详解
Centos系统各种日志存储路径和详细介绍 Linux常见的日志文件详述如下 1./var/log/boot.log(自检过程) 2./var/log/cron (crontab守护进程crond所派 ...
随机推荐
- 页面加载完毕后调用js方法进行布局操控 已实验
页面加载完毕后调用js方法进行布局操控 已实验 $(function(){ var check1 = $("[id$=SMS]").is(':checked'); var bl=$ ...
- Mina TCP服务端客户端 示例
服务端代码: package com.xd.nms.example; import java.io.IOException; import java.net.InetSocketAddress; im ...
- ESP8266 AT指令
无线网络名称 ESP_XXXXXX,后面的数字是MAC地址后几位 应用模式: AT+CWMODE? //查询 AT+CWMODE=<mode> //设置(重启后生效).1-Station模 ...
- C++手动调用析构函数无效问题排查
在学习C++的时候,都知道不要手动调用析构函数,也不要在构造函数.析构函数里调用虚函数.工作这么多年,这些冷门的知识极少用到,渐渐被繁杂的业务逻辑淹没掉. 不过,最近项目里出现了析构函数没有被正确地调 ...
- 【Distributed】CDN
一.概述 1.1 Web前端优化 1.2 DNS域名解析过程 1.3 传统方式请求静态资源 二.CDN内容分发 2.1 什么是CDN 2.2 CDN内容分发原理 2.3 阿里云环境实战搭建CDN内容分 ...
- opencv读取图像python和c++版本的结果不同
问题: 在读取同一张图像时,python读取的结果和c++读取的结果差异较大,测试图像中最大误差达到16. 原因: python的opencv采用的是4.1.1,c++采用的是3.1.0,在解析JPE ...
- asp.net使用FileUpload控件上传图片且重命名
我在根目录下创建了一个Images图片存放文件夹,上传的图片都在这 下面贴代码 if (FileUpload1.HasFile) { string filename = FileUpload1.Fil ...
- 12_Redis_服务器命令
一:Redis 服务器:Redis 服务器命令主要是用于管理 redis 服务
- ACM中值得注意/利用的C++语法特性
C++ 的易踩坑点 随时补充 STL不能边循环边erase() //自己写的求交集RE了 for (set <int> ::iterator it = s.begin(); it != s ...
- 【JOISC2012】fish
Description 有 \(n\) 条鱼,第 \(i\) 条鱼的长度为 \(L_i\),颜色是 \(C_i\)(\(C_i\) 只能是 'R','G','B'). 你需要从中挑出至少一条鱼,要求挑 ...