Anaconda离线升级python版本


文章目录

  • Anaconda离线升级python版本
  • 前言
  • 一、下载anaconda所需的python包
  • 二、在离线服务器中使用conda升级python3.7.10
  • 1.将python包上传到服务器中
  • 总结



前言

由于python最近被扫描出了一个高危漏洞(CVE-2021-3177),所以我们需要被迫升级一下python,由于我们的服务器都是离线的,因此需要通过离线的方式升级Anaconda中的python版本。(离线的话为什么会被触发这个漏洞呢?谁触发谁下岗就是了)我几经百度没咋命中相关的关键词,因此自己写一个解决方案希望能帮助到同样需要在离线环境升级anaconda的python并且你们的信息科技部也就甩了个原生python下载地址的同学们。

一、下载anaconda所需的python包

首先访问

https://anaconda.org/anaconda/python/files

找到我们需要升级的python版本

anaconda python升级 anaconda里的python怎么升级_anaconda


点击下载后得到python-3.7.10-hdb3f193_0.tar.bz2

二、在离线服务器中使用conda升级python3.7.10

1.将python包上传到服务器中

将下载好的python包上传到linux服务器上的家目录下

例如

将python-3.7.10-hdb3f193_0.tar.bz2放到 /home/pythonuser/下

anaconda python升级 anaconda里的python怎么升级_centos_02


查看当前python版本

python –V

anaconda python升级 anaconda里的python怎么升级_服务器_03


执行conda install

conda install /home/pythonuser/python-3.7.10-hdb3f193_0.tar.bz2

会报错

错误原因是缺少libffi.so.7

ImportError: libffi.so.7: cannot open shared object file: No such file or directory

anaconda python升级 anaconda里的python怎么升级_python_04


我们需要做一个软连接,将libffi.so.7指向libffi.so.6

首先找到anaconda中libffi.so.6的位置(如果记得anaconda的安装位置的话直接找到anaconda3/lib/即可)

find /home/pythonuser -name libffi.so.6

anaconda python升级 anaconda里的python怎么升级_anaconda_05


进入到/home/pythonuser/anaconda3/lib/

cd /home/pythonuser/anaconda3/lib/

执行

ln -s libffi.so.6 libffi.so.7

anaconda python升级 anaconda里的python怎么升级_python_06


然后再次执行

conda install /home/pythonuser/python-3.7.10-hdb3f193_0.tar.bz2

anaconda python升级 anaconda里的python怎么升级_linux_07


执行python –V查看python版本

anaconda python升级 anaconda里的python怎么升级_centos_08


升级成功!

总结

很多学校和公司中的服务器都是离线的,升级一个版本那叫一个费劲,百度谷歌给出的大部分都是在线安装的方法,因此离线安装的方法需要我们进行探索,虽然很繁琐但是由于涉及到多方面的知识,作为日常的知识积累也是不错的,特此记录。