vlambda博客
学习文章列表

Centos8编译安装最新Python教程

    Python 3.9,来了!

    过去几年,来自世界各地的开发者们一直在致力于Python3.8的改进。Python3.9 版本已经存在了一段时间,第一个正式版本于2020年10月5日发布。

    Python是面向对象易于学习的解释型语言。

    主要特点:语法简单,免费开源,解释型语言,可移植性强,可扩展和可嵌入,标准库丰富,面向对象。

    应用场景:Web开发(如:Django和Bottle),科学和数学计算(Orange,SymPy,NumPy)和桌面GUI(Pygame,Panda3D)等。

    它的现状:在GitHub热度排名前几,还是有些江湖地位的,这些得益于学习成本低和应用场景广,比如在Linux运维,人工智能,自动化测试等地方混的也有头有脸。

官网下载最新Python源码

以截至本文章发表时最近版本的Python3.9.7为例

wget "https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz"

解压所下载的tgz压缩文件

tar -zxvf Python-3.9.7.tgz

当前目录下会生成一个解压缩后的文件夹,我们打开它

cd Python-3.9.7
ls

编译并安装

注意:Centos8已自带依赖,而不用像互联网上大部分文章所说要安装其他编译所需的依赖,所以我们直接编译安装即可,但首先要指定安装Python的目录,其中--enable-optimizations为对Python解释器进行优化,会编译安装到/usr/local/bin/下,好处是不用添加软连接或环境变量,强烈推荐添加此参数

./configure --enable-optimizations --prefix=/usr/local/python3
make&&make install

安装完毕

使用python3.9 -V查看安装的Python版本,使用pip3.9管理Python包

Centos8编译安装最新Python教程

创建虚拟环境(可选)

以“root”用户身份运行pip可能会导致权限中断以及与系统包管理器的行为冲突。建议创建虚拟环境。

python3.9 -m venv venv_default --upgrade-deps
source venv_default/bin/activate

上面的代码是在root目录下新建了一个名为venv_default的虚拟环境。其中--upgrade-deps为把pip和setuptools升级到最新版本,推荐添加。使用deactivate来退出虚拟环境。

Centos8编译安装最新Python教程

以下内容可以不用阅读,需要建立软连接,比较麻烦

编译并安装(老方法,不推荐使用)

./configure --prefix=/usr/local/python3
make&&make install

建立Python软连接

虽然此时已安装完毕,但执行pythonpython3命令时发现运行的依然是系统自带的Python3.6.2

Centos8编译安装最新Python教程

这时我们就需要建立软连接,来连接刚刚安装的python和pip

ln -s /usr/local/python3/bin/python3 /usr/bin/python39
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip39

安装完毕