问题介绍
最近在用VirtualBox(6.1.34)和Qiime2(2022.2)处理16sRNA数据,遇到了两个问题。一个问题是需要升级scikit learn版本(需要从0.23.1升级到0.24.1):
但我可能虚拟机系统太低了,无法用以下命令升级scikit-learn:
失败方法1:
sudo apt-get install python-sklearn
失败方法2:
sudo apt install python-pip #安装pip
sudo pip install numpy #使用pip命令来安装numpy模块
#安装matplotlib和pands模块以及scipy模块:
sudo apt-get install python-matplotlib ipython ipython-notebook
sudo apt-get install python-pandas python-sympy python-nose
sudo pip install scipy
sudo pip install -U scikit-learn #安装scikit-learn
pip list#测试scikit-learn是否安装成功
失败方法3:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes #先换源
conda install scikit-learn=0.24.1 #升级scikit-learn
另一个问题是在虚拟机上下载Aspera时出现version 'GLIBC_2.28" not found的问题,
用下行命令检查glibc版本发现最高只能到2.27
strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_
也试了居多方法就不一一赘述了
两个问题的共性是虚拟机版本低且升级不了,于是我参考了下面这个攻略,添加一个高级版本系统的源:https://blog.csdn.net/Youning_Yim/article/details/129343107
但这个方法风险很大,可以看看原文前文提醒和评论区,有系统崩溃的风险。虽然我安装完系统没出问题,但大家谨慎选择
具体方法
sudo vi /etc/apt/sources.list #编辑源
会弹出一个文件,用鼠标移动到某一空行,添加以下行到文件:
deb http://th.archive.ubuntu.com/ubuntu jammy main
如图:
点击Esc键,输入:wq
,再按回车,即可退出该文件
之后运行升级(第一步后要选y,第二步要等很久):
sudo apt update #更新软件源
sudo apt install libc6 #安装libc6
弹出下图,用键盘左键选择yes
升级完成后再检查一下版本:
strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_
最后glibc从2.27直接升到3.35:
后来我又检查sklearn的版本:
pip list
结果发现sklearn也升级成0.24.1了,但并不清楚是上面哪一步导致sklearn也成功升级的
最后提醒
glibc库对linux系统非常重要,轻易不要更换。
如果需要更换,需提前备份好原本的相关库以防万一。
最后,谨慎选择该方法,有系统崩溃的风险