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的更多相关文章

  1. 在Linux系统中安装caffe

    学习深度学习已经很久了,但一直没有自己动手安装过caffe,因为工作需要,需要在linux系统中安装caffe,因此,在这里对安装过程进行记录. caffe配置起来比tensorflow更麻烦一些,我 ...

  2. rpm 系 linux 系统中 repo 文件中的 $release 到底等于多少?

    rpm 系 linux 系统中 repo 文件中的 $release 到底等于多少? 结论 对于 8 来说,通过以下命令 #/usr/libexec/platform-python -c 'impor ...

  3. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

  4. 在linux系统中安装VSCode(Visual Studio Code)

    在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网  ...

  5. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  6. Linux 系统中僵尸进程

    Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.配图源 ...

  7. Linux系统中配置jdk

    在Linux系统下安装jdk 1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8 ...

  8. Linux 系统中用户切换

    1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ...

  9. 77 swapon-激活Linux系统中交换空间

    Linux swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存. 语法 /sbin/swapon -a [-v] /sbin/swapon [-v] ...

随机推荐

  1. 详解Tomcat系列(一)-从源码分析Tomcat的启动

    在整个Tomcat系列文章讲解之前, 我想说的是虽然整个Tomcat体系比较复杂, 但是Tomcat中的代码并不难读, 只要认真花点功夫, 一定能啃下来. 由于篇幅的原因, 很难把Tomcat所有的知 ...

  2. luogu P2043 质因子分解

    题目描述 对N!进行质因子分解. 输入输出格式 输入格式: 输入数据仅有一行包含一个正整数N,N<=10000. 输出格式: 输出数据包含若干行,每行两个正整数p,a,中间用一个空格隔开.表示N ...

  3. 基于WPF系统框架设计(10)-分页控件设计

    背景 最近要求项目组成员开发一个通用的分页组件,要求是这个组件简单易用,通用性,兼容现有框架MVVM模式,可是最后给我提交的成果勉强能够用,却欠少灵活性和框架兼容性. 设计的基本思想 传入数据源,总页 ...

  4. popcount 算法分析

    转载: http://blog.csdn.net/gaochao1900/article/details/5646211 http://www.cnblogs.com/Martinium/archiv ...

  5. 如何限制Dedecms文章或产品描述的字数

    在Dedecms系统中,文章摘要(可以通过infolen或description相关标签调用)被设置了字数上限为250字符,设置上限的主要目的是减少数据库的冗余,保证网站良好的性能.因此,如果对简介内 ...

  6. php 列出当前目录

    $path="."; //初使化用户所操作目录 $prevpath=dirname($path); //初使化当前脚本所在目录 $dir_handle=opendir($path) ...

  7. HDU 1041 Computer Transformation 数学DP题解

    本题假设编程是使用DP思想直接打表就能够了. 假设是找规律就须要数学思维了. 规律就是看这些连续的0是从哪里来的. 我找到的规律是:1经过两次裂变之后就会产生一个00: 00经过两次裂变之后也会产生新 ...

  8. ASP.NET Web API路由规则(二) 【转】

    http://www.cnblogs.com/liulun/archive/2012/06/20/2556556.html 默认的规则 在ASP.NET MVC4中 global.asax.cs代码中 ...

  9. JavaScript replace 回调函数用法

    params.query = params.query.replace(/[\+\-\&\|\!\(\)\{\}\[\]\^\"\~\*\?\:\\]/g,function(a){ ...

  10. TCP/IP详解 卷一(第二章 链路层)

    在TCP/IP协议族中,链路层主要有三个目的: 1.为IP模块发送和接收IP数据报 2.为ARP模块发送ARP请求和接收ARP应答 3.为RARP请求和接收RARP应答 TCP/IP支持多种不同的链路 ...