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. 洛谷——P1785 漂亮的绝杀

    P1785 漂亮的绝杀 题目背景 话说absi2011的企鹅在和斗神塔第60层的Boss战斗 不好,这局要输了,企鹅还剩4血了Boss还有392呢,哇,漂亮——红缨枪连击,280,343(暴击),绝杀 ...

  2. eclipse启动Tomcat时报错:严重: Exception loading sessions from persistent storage

    我的项目工程是Spring+hibernate+structs  1.0,最近启动tomcat时多次遇到如下异常: 严重: IOException while loading persisted se ...

  3. Linux内核网络栈源代码分析

    http://blog.csdn.net/column/details/linux-kernel-net.html

  4. mysql之字符串操作

    写在前面 上篇文章学习了mysql常用的日期操作的函数,这篇文章将学习mysql的字符串操作的函数. 系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete ...

  5. datasnap——动态注册服务类

    datasnap——动态注册服务类 在DataSnap的应用程序时,我们首先需要注册的服务器类,以提供访问客户端应用程序的服务器方法.通常的做法是使用DSServerClass组件,但有些时候,我们要 ...

  6. 【好】Paxos以及分布式一致性的学习

    Paxos,一言以蔽之,我们需要一种提交协议来确保分布式系统中的全局操作即使是在发生故障的情况下也能保证正确性. 跟拜占庭将军问题是不同的问题,虽然拜占庭也是Lamport提出的.拜占庭里面有叛徒,有 ...

  7. 怎样找出自己定义标签的java类

    怎样找出自己定义标签的java类 这是一个逆推的过程(建立自己定义标签能够查看下面连接:http://blog.csdn.net/antoniochan/article/details/3810990 ...

  8. centos 7 安装五笔输入法

    centos 7 安装五笔输入法 [a@endv ~]$ yum search wubi 已加载插件:fastestmirror, langpacks Loading mirror speeds fr ...

  9. UVA - 10895 Matrix Transpose

    UVA - 10895 Matrix Transpose Time Limit:3000MS   Memory Limit:Unknown   64bit IO Format:%lld & % ...

  10. 应用程序之TableView简单总结1

    UITableView的代理方法 修改Cell的状态 UITableView常见方法 一.UITableView的代理方法 #pragma mark 每一行的高度 - (CGFloat)tableVi ...