WEB-DL

编译安装Python

本教程在Debian9 x64系统下操作,以编译安装Python3.9.4为例,理论上其他Linux系统及Python版本均可。

一、 卸载旧的 Python 3(Python 2)

1、查看当前 Python 3 的版本

python3 -V
Python 3.4.3

2、卸载 Python3.4
卸载 python3.4 软件包, 并删除配置文件

apt-get --purge remove python3.4

二、下载 Python 3.9.4

Linux 版的 Python 通常以源码编译的方式安装,到 Python 官网下载 Python3。

Python3 官网下载地址: https://www.python.org/downloads/source/

1、下载Python 3.9.4源码

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

2、安装Python编译所需环境

先更新一遍安装源(Source)

apt-get update

安装Python所需环境

apt-get install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev

三、安装 Python 3.9.4

1、解压源码包

tar Jxvf Python-3.9.4.tar.xz

解压到当前文件夹,得到Python-3.9.4文件夹。

2、编译安装(安装到 /usr/python3 )

创建安装目录

mkdir /usr/python3

进入 解压后的 源码文件夹

cd Python-3.9.4

配置, 检查安装环境, 生成 Makefile 文件, 指定安装到 /usr/python3

./configure --enable-optimizations --prefix=/usr/python3

编译和安装(需要一段时间, 耐心等待,可创建screen后台任务安装)

make && make install

./configure 时如果报错没有生成 Makefile 文件,根据报错信息安装相应的编译器或依赖,再重新执行;
make && make install 时如果还需要其他依赖,根据报错信息逐一安装依赖后再重新执行。

3、查看安装结果
安装后的目录:
/usr/python3
├── bin
│ ├── python3
│ ├── pip3
│ └── …
├── lib
│ └── …
├── include
│ └── …
└── share
└── …

进入 python3 的 bin 目录

cd /usr/python3/bin

查看 python3 的版本

./python3 -V
./pip3 -V

4、添加 Python 环境变量
为了方便并优先使用 Python 3.9 的命令,把/usr/python3/bin目录添加到 PATH。

打开全局环境变量配置文件

nano /etc/profile

添加下面代码到/etc/profile配置文件

把 /usr/python3/bin 放在前面, 优先使用里面的命令

export PATH=/usr/python3/bin:$PATH

执行 source 命令,让刚配置的环境变量立即生效

source /etc/profile

在任意目录下查看版本

python3 -V
pip3 -V

如果无法设置全局环境变量,可直接设置链接

ln -s /usr/python3/bin/python3.9 /usr/bin/python
ln -s /usr/python/3bin/pip3.9 /usr/bin/pip

Python默认版本切换,可直接删除链接重新建立

删除/usr/bin目录下的python link文件,建立新的链接关系:

rm -rf /usr/bin/python
ln -s /usr/bin/python2.7  /usr/bin/python 

这样就变成默认用python2版本,如果想切换回python3.9,只需:

rm -rf /usr/bin/python
ln -s /usr/bin/ptyhon3.9 /usr/bin/python
码字很辛苦,转载请注明来自非WEB-DL资源站《编译安装Python》

评论

评论关闭