阿里云服务器将python2升级到python3

阿里云服务器将python2升级到python3

最近想学python,因为python3没有向下兼容python2,所以打算把阿里云服务器上的python2升级一下,并记录全过程。

文章参考 CSDN博主「sonwing」的原创文章:https://blog.csdn.net/sonwing/article/details/103693419

  1. 创建python3的目录
    mkdir /usr/local/python3
    
  2. 进入创建好的目录
    cd /usr/local/python3
    
  3. 下载python3.9.4
    wget https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz
    
  4. 解压
    tar xvJf Python-3.9.4.tar.xz
    
    或者先解压成tar,再解压
    xz -d Python-3.9.4.tar.xz
    tar -xvf Python-3.9.4.tar
    
  5. 进入解压目录
    cd Python-3.9.4
    
  6. 配置编译安装目录
    ./configure --prefix=/usr/local/python3
    
  7. 编译安装
    make && make install
    
    可能遇到错误1:zipimport.ZipImportError: can’t decompress data; zlib not available
    解决办法如下
    yum install -y zlib*
    
    可能遇到错误2: ModuleNotFoundError: No module named ‘_ctypes’
    解决办法如下
    yum install libffi-devel -y
    
    可能遇到错误3: configure: error: no acceptable C compiler found in $PATH
    因为缺少C编译器,解决办法如下
    yum -y install gcc
    
    如果没遇到上面说的那些错误不用进行这一步:进行清理再重新编译
    make clean    #清理
    make && make install  #编译
    
  8. 将旧的python进行备份
    mv /usr/bin/python /usr/bin/python2
    
  9. 查看现有python的软连接指向的版本
    ls -al python
    
  10. 建立软链接(linux的软连接存放位置:/usr/bin
    ln -s /usr/local/python3/bin/python3 /usr/bin/python
    
  11. 验证是否安装成功
    python
    
    若报错 ln: failed to create symbolic link ‘/usr/bin/python’: File exists
    解决方法:
    ln -sf 加一个 f 即可
    ln -sf /usr/local/python3/bin/python3 /usr/bin/python
    
  12. 将pip进行软连接
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip -f
    
  13. 升级成功后,使用 yum 报错

    File “/usr/bin/yum”, line 30
    except KeyboardInterrupt, e:
    ^
    SyntaxError: invalid syntax

    解决办法:编辑 /usr/bin/yum/usr/libexec/urlgrabber-ext-down 将第一行 #!/usr/local/python 修改为 #!/usr/bin/python2.7
    vi /usr/bin/yum
    vi /usr/libexec/urlgrabber-ext-down
    
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值