今天下午遇到一个网友,在他的服务器网站环境中,希望将当前的服务器默认安装的Python2.7升级到Python3.X版本,应该是他需要跑一个脚本需要在这个高级版本中运行。当前他的服务器环境中还有宝塔面板的网站环境,这里需要确保他的宝塔面板数据不变动。
当然前提首先是先将服务器备份,快照备份一下。然后再开始操作。
第一、安装Python3.X版本
这里我们可以安装Python3.10
yum install gcc gcc-c++ -y
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tar.xz
tar xvf Python-3.10.0.tar.xz
cd Python-3.10.0
./configure
make
make install
直接下载安装编译。
如果我们有需要最新版本可以查看这里:
https://www.python.org/downloads/
我们可以从这里检查当前的Python最新版本。
在安装完毕之后,我们可以通过检测版本。
1、检查Python2.7
python -v
默认是2.7,直接看到。
2、检查Python3.10
python3 -v
这里我们检查看看是不是3.10.
我们可以看到当前是3.10是最新版本。
第二、设置3.X为默认版本
我们需要先查看 Python 的路径,在 /usr/bin 下面。可以看到 python 链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7。所以,为什么我们执行Python -v 的时候是老版本,我们需要将做的将默认设置成3.10。
将原来 python 的软链接重命名:
mv /usr/bin/python /usr/bin/python.bak
将 python 链接至 python3:
ln -s /usr/local/bin/python3 /usr/bin/python
第三、配置yum
升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件。修改/usr/bin/yum和/usr/libexec/urlgrabber-ext-down,将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出即可。
如果pip list时出现问题:
# pip list
-bash: pip: command not found
执行:
yum install epel-release
yum install -y python-pip
这样,我们可以看到当前的Python -v看到是新版本3.10.