Linux系统中的python2.x升级至python3
python2.x升级至python3
由于需要在公司测试环境搭建的Jenkins上面运行接口自动化脚本,所以需要对Jenkins所处的服务器的python环境进行升级,以便运行python3编写的脚本。
linux自带python版本:

1、利用linux工具wget下载python3 tar包
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
更多python版本:点击
2、解压刚刚下载的python3 tar包
tar -xzvf Python-3.6..tgz
3、切换至刚刚解压的python3 文件夹
cd Python-3.6.
4、编译安装python3
./configure --prefix=/home/fr/python3
这里的/home/fr/python3是之前就建立好的python的安装路径(以免覆盖老的版本),通过mkdir设置python3的安装路径
4.1、编译过程中,第一次通过命令:make,继续安装
make
4.2 、第二次通过命令:make install,继续安装
make install
编译完毕后,通过执行命令:python,发现python版本还是2.6,这个是因为这个命令还是默认链接着Linux系统自带python2.6的编译器。
5.建立新版本python3的链接:
5.1,先将原来/usr/bin/python链接改为别的名字:
mv /usr/bin/python /usr/bin/python_old
5.2,再建立新版本python的链接:
ln -s /home/fr/python3/bin/python3.6 /usr/bin/python #这里的/home/fr/python3 是安装目录,bin/python3.6 是python3 bin目录下的python3.6编译器
最后在输入命令python,验证是否安装成功

6.更改yun配置
由于之前5.1步骤将/usr/bin/python改成了/usr/bin/python_old导致yum执行路径错误,无法使用。
通过下面命令进入yun配置脚本:
vi /usr/bin/yum
(更改头部的python为python_old)这样yum又可以使用了
7.pip3使用前配置软连接:
python3.6中自带setuptools和pip包,不需要另外下载
ln -s /home/fr/python3/bin/pip3 /usr/bin/pip3 #/home/fr/python3 是自己设置python3的安装目录
注:当使用pip3 install xxx安装第三方库的时候,发现提示:找不到满足需求请求的版本和匹配的请求

这个是因为由于在国内,访问pip官方源基本连不上。所以只能用镜像,因此需要更改pip的请求源,
方案一:
安装第三方库时.安装时加入 --trusted-host pypi.python.org参数(不推荐)
pip --trusted-host pypi.python.org install requests
方案二:(推荐,一劳永逸)
1.在没有pip.conf配置情况下,直接vi新建编写一个pip配置文件,
vi /etc/pip.conf
2.在配置文件中添加pip请求源;
[global]
timeout =
index-url = http://pypi.douban.com/simple/
[install]
use-mirrors = true
mirrors = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
Linux系统中的python2.x升级至python3的更多相关文章
- 在Linux系统中安装caffe
学习深度学习已经很久了,但一直没有自己动手安装过caffe,因为工作需要,需要在linux系统中安装caffe,因此,在这里对安装过程进行记录. caffe配置起来比tensorflow更麻烦一些,我 ...
- rpm 系 linux 系统中 repo 文件中的 $release 到底等于多少?
rpm 系 linux 系统中 repo 文件中的 $release 到底等于多少? 结论 对于 8 来说,通过以下命令 #/usr/libexec/platform-python -c 'impor ...
- Linux系统中的Device Mapper学习
在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...
- 在linux系统中安装VSCode(Visual Studio Code)
在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 ...
- Linux 系统中的MySQL数据库默认区分大小写
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...
- Linux 系统中僵尸进程
Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.配图源 ...
- Linux系统中配置jdk
在Linux系统下安装jdk 1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8 ...
- Linux 系统中用户切换
1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ...
- 77 swapon-激活Linux系统中交换空间
Linux swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存. 语法 /sbin/swapon -a [-v] /sbin/swapon [-v] ...
随机推荐
- 详解Tomcat系列(一)-从源码分析Tomcat的启动
在整个Tomcat系列文章讲解之前, 我想说的是虽然整个Tomcat体系比较复杂, 但是Tomcat中的代码并不难读, 只要认真花点功夫, 一定能啃下来. 由于篇幅的原因, 很难把Tomcat所有的知 ...
- luogu P2043 质因子分解
题目描述 对N!进行质因子分解. 输入输出格式 输入格式: 输入数据仅有一行包含一个正整数N,N<=10000. 输出格式: 输出数据包含若干行,每行两个正整数p,a,中间用一个空格隔开.表示N ...
- 基于WPF系统框架设计(10)-分页控件设计
背景 最近要求项目组成员开发一个通用的分页组件,要求是这个组件简单易用,通用性,兼容现有框架MVVM模式,可是最后给我提交的成果勉强能够用,却欠少灵活性和框架兼容性. 设计的基本思想 传入数据源,总页 ...
- popcount 算法分析
转载: http://blog.csdn.net/gaochao1900/article/details/5646211 http://www.cnblogs.com/Martinium/archiv ...
- 如何限制Dedecms文章或产品描述的字数
在Dedecms系统中,文章摘要(可以通过infolen或description相关标签调用)被设置了字数上限为250字符,设置上限的主要目的是减少数据库的冗余,保证网站良好的性能.因此,如果对简介内 ...
- php 列出当前目录
$path="."; //初使化用户所操作目录 $prevpath=dirname($path); //初使化当前脚本所在目录 $dir_handle=opendir($path) ...
- HDU 1041 Computer Transformation 数学DP题解
本题假设编程是使用DP思想直接打表就能够了. 假设是找规律就须要数学思维了. 规律就是看这些连续的0是从哪里来的. 我找到的规律是:1经过两次裂变之后就会产生一个00: 00经过两次裂变之后也会产生新 ...
- ASP.NET Web API路由规则(二) 【转】
http://www.cnblogs.com/liulun/archive/2012/06/20/2556556.html 默认的规则 在ASP.NET MVC4中 global.asax.cs代码中 ...
- JavaScript replace 回调函数用法
params.query = params.query.replace(/[\+\-\&\|\!\(\)\{\}\[\]\^\"\~\*\?\:\\]/g,function(a){ ...
- TCP/IP详解 卷一(第二章 链路层)
在TCP/IP协议族中,链路层主要有三个目的: 1.为IP模块发送和接收IP数据报 2.为ARP模块发送ARP请求和接收ARP应答 3.为RARP请求和接收RARP应答 TCP/IP支持多种不同的链路 ...