预计所需阅读时间:5分钟
CentOS 7的系统默认自带Python 2.7的版本,而且自带的软件包管理系统YUM也是用Python 2来运行的。目前Python 2的支持已经在2020年1月1日结束,要想在服务器CentOS系统上运行最新与Python相关的代码都要用到Python 3。
一、卸载Anaconda
服务器安装过Anaconda,当时想它集成了比较多包,这样服务器也可以跑很多程序,但后来自己还是主要在本机跑各种各样的程序,也安装了各种环境,体积接近50G。服务器的空间没本地电脑那么大,而且定位也与本地不一样,服务器跑的应该是要长时间运行的代码,但因为性能有限,比本地的算力还要低,所以最大的优势应该是跑爬虫的代码。
于是卸载了Anaconda,减少对服务器空间的占用。其方法如下:
1.在系统里找到anaconda安装时所有的文件夹,默认是安装在用户主目录之下,如果是root用户就在/root/之下,直接用删除命令rm -rf ~/anaconda
2.编辑用户目录下bash运行配置文件vi ~/.bashrc
对conda initialize这段内容用#进行注释
3.要使其立即生效,执行source ~/.bashrc
4.关闭连接要服务器的终端,重新连接上服务器终端
整个卸载就完成,过程还是很快捷的。
二、卸载所有Python3
之前不是很懂CentOS几种安装方法,结果是装过几个版本的Python,3.6、3.7、3.8都装过,还同时存在3.6与3.8版本。服务器上的Python没有必要追求最新的,也因为跑不动Tensorflow的深度学习框架,所以也必要装3.6,所以还是装比较通用的3.7版本最好。
对过以下命令即可完全卸载所有版本Python 3
# 卸载所有pyhton3,请耐心等待 rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps # 删除所有残余文件,请耐心等待 whereis python3 |xargs rm -frv # 查看现有安装的python,还有自带Python 2在 whereis python
三、重新编译安装Python3.7
1安装Python3相关包,其中libffi-devel很关键,因为只有3.7才会用到这个包,不安装的话,编译阶段会出错。
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
2.安装pip,CentOS默认没有pip,但也可能因为装了其它程序所以也有安装。
#运行这个命令添加epel扩展源 yum -y install epel-release #安装pip yum install python-pip
3.安装wget,下载远程文件。
pip install wget
4.下载Python3.7的源码包
# 下载 wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz # 解压缩 tar -zxvf Python-3.7.9.tgz # 切换目录 cd Python-3.7.9
5.编译并安装。
# 编译安装位置,请耐心等待 ./configure prefix=/usr/local/python3 # 编译优化,请耐心等待,最后结果没成功影响不大 ./configure --enable-optimizations # 编译安装 make && make install
6.添加软链接,这点跟Windows安装软件那样最后会创建快捷方式到开始菜单。
# 创建python3.7的链接 ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3.7 # 创建python3的链接 ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 # 备份旧连接 mv /usr/bin/python /usr/bin/python.backup # 删除旧链接 rm -rf /usr/bin/python # 创建python的链接,改变默认运行安装的版本 ln -s /usr/local/bin/python3 /usr/bin/python # 创建pip3.7的链接 ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3.7 # 创建pip3的链接 ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3 # 备份旧连接 mv /usr/bin/pip /usr/bin/pip.backup # 删除旧链接 rm -rf /usr/bin/pip # 创建pip的链接,改变默认运行安装的版本 ln -s /usr/local/bin/pip3 /usr/bin/pip
7. 更改yum配置,因为它要用到python2才能执行,否则会导致yum不能正常使用。不管安装 python3的那个版本,都必须修改以下配置文件。
vi /usr/bin/yum 把 #! /usr/bin/python 修改为 #! /usr/bin/python2 vi /usr/libexec/urlgrabber-ext-down 把 #! /usr/bin/python 修改为 #! /usr/bin/python2
非常感谢!能在您的镜像世界里学习到许许多多互相关联的学科经验知识。
加油