为CentOS7安装最新的Python程序

人生苦短,我用Python!

CentOS 7 自带的Python是 Python2,并且yum 源中并没有提供最新的 python3 程序,我又想使用它,怎么办呢?
手动编译安装它!

Step1. 查看系统当前python程序的位置

#which python
/usr/bin/python 

可以知道我们的python在 /usr/bin目录中

Step2. 安装编译需要的依赖

sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel -y

Step3. 安装下载工具Wget

sudo yum install wget -y

Step4.下载最新的源码包

当前最新的python版本为Python 3.7.4,

我下载的是标题为XZ compressed source tarball的文件

wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz

Step5. 编译安装

# 解压
xz -d Python-3.7.4.tar.xz
tar -xf Python-3.7.4.tar.xz
# 进入解压后的目录,
cd Python-3.7.4
# 依次执行下面命令进行手动编译
./configure prefix=/usr/local/python37
# 为了避免和系统里原来的软件产生冲突,我们需要自定义安装位置,这里我选择安装到/usr/local/python37里
sudo make && sudo make install

如果最后没报错,就表示正确安装了,在/usr/local/目录下就会有python37目录

Step6. 添加软链接

做到到这里,读者们可能会有疑问,“我不是已经安装好了吗,怎么还要搞这个软链接?”,

因为Linux系统把我们平时直接执行的程序都放在了/usr/bin/这个目录下,也就是之前我们查看的python程序的位置,然而我们刚才把程序安装到了/usr/local/python37这个目录,这种情况下我们直接执行python3是没有反应的,所以为了让我们更方便的使用刚才安装的程序,需要在/usr/bin/给它添加软连接

# 添加python3的软连接
sudo ln -s /usr/local/python37/bin/python3.7 /usr/bin/python3
#添加pip3的软连接
sudo ln -s /usr/local/python37/bin/pip3.7 /usr/bin/pip3
# 
# 如果你使用pip3安装了一个程序,但安装后无法直接执行它,可能是因为没有相应的软连接,
# 这时我们查看一下安装目录下的软件
ls -lh /usr/local/python37/bin/ 
# 然后依照前面的格式添加一个软连接就好了

Other. 更改pip源为国内源

pip下载超时/速度太慢?,不用担心,我们可以把pip的源改成tuna的

# 依次执行下面命令
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

END

添加新评论