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. vue.js移动端app实战2

    貌似有部分人要求写的更详细,这里多写一点vuel-cli基础的配置 什么是vue-cli? 官方的解释是:A simple CLI for scaffolding Vue.js projects,简单 ...

  2. php cli模式下调试

    //设置内存大小 ini_set('memory_limit','512M'); //打开日志 ini_set('log_errors', 'On'); //定向日志记录文件 ini_set('err ...

  3. PostgreSQL 10.0 preview 功能增强

    https://yq.aliyun.com/users/1384833841157402?spm=5176.100239.blogrightarea51131.3.yI7e9d

  4. 【C语言 C++】简单keywordRegister,Const,Static,Volatile,typedef,Define的理解

    Register 用register声明的变量称着寄存器变量,在可能的情况下会直接存放在机器的寄存器 中.但对32位编译器不起作用.当global optimizations(全局优化)开的时候,它会 ...

  5. Mongodb性能调优

    摘要 1. Mongodb 适用场景简介 2. Mongodb 性能监控与分析 3. Mongodb 性能优化建议 关于Mongodb的几个大事件 1.根据美国数据库知识大全官网发布的DB热度排行,M ...

  6. C#面试:抽象类与接口

    本人近日面试遇到此等问题.然后又一次补习了一下下.希望对同行们有所帮助. 一.抽象类:       抽象类是特殊的类,仅仅是不能被实例化:除此以外.具有类的其它特性:重要的是抽象类能够包括抽象方法,这 ...

  7. 浅谈js中的MVC

    MVC是什么? MVC是一种架构模式,它将应用抽象为3个部分:模型(数据).视图.控制器(分发器) 本文将用一个经典的例子todoList来展开 一个事件发生的过程(通信单向流动): 1.用户在视图V ...

  8. STL源代码剖析 容器 stl_vector.h

    本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie vector --------------------------------------- ...

  9. android开发笔记之fastboot的使用

    fastboot命令大全 在终端中.我们输入: fastboot 对于这些命令.我不解释,慢慢使用.慢慢的就会明确是怎么回事了. android分区 分区 作用 splash1 开机画面.使用Nand ...

  10. 转:SATA协议简介

    SATA协议简介 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/FA99999/article/details/70738724 1.概述 本文档主 ...