• 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.3.tgz

    3、切换至刚刚解压的python3 文件夹

    cd Python-3.6.3

     

    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 = 6000
    index-url = http://pypi.douban.com/simple/ 
    [install]
    use-mirrors = true
    mirrors = http://pypi.douban.com/simple/ 
    trusted-host = pypi.douban.com
  • 相关阅读:
    js实现完美身份证号有效性验证
    jQuery cookie操作
    脚本化HTTP
    if (HttpContext.Current.User.Identity.IsAuthenticated) 权限验证总是true
    装了appserv之后,浏览器中访问localhost加载不了
    rdlc报表的导出及预览时表头
    oracle中的to_number在mysql中的转换
    GIRDVIEW 控件绑定数据后 后台c#控制隐藏某列
    mysql、oracle 中按照拼音首字母排序
    阅读《大道至简第一章》读后感(java伪代码)
  • 原文地址:https://www.cnblogs.com/Keep-Ambition/p/7943307.html
Copyright © 2020-2023  润新知