在CentOS8上搭建Python3.8运行环境【20211021】

发表于 2021-10-20 11:28:57
阅读 85

介绍

介绍

福哥学习Python也有半年了多了。之前对Python的理解比较肤浅,觉得Python是个“不三不四”、“不伦不类”的语言,定位也不清晰,语法又很古怪,还被一帮JS拿去忽悠家长给鸡娃报班。
现在福哥作为一名“老”Python程序员对Python有了全新的认识,Python是一个非常好的语言,理由是:

  • 首先,相比较PHP语言,Python语言“很严谨”,不能使用未定义的元素,不会静默转换数据。这样的Python可以写出健壮性很强的程序,长时间运行也不会崩溃,非常棒!

  • 其次,相比较Java语言,Python语言“很简单”,没有复杂的架构,没有眼花缭乱的对象。这样的Python在实现一个功能的时候所需要编写的代码量远远低于Java,非常爽!

  • 最后,Python的属于脚本语言,却又比PHP、JavaScript、Shell强大的多,一门语言解决“一切”难题,干什么都可以!

福哥经过了4个月的时间发现Python2和Python3基本不是一个东西,前者就是实验品,后者才是一门语言,福哥强烈推荐Python3作为大家学习Python的环境,抛弃Python2吧~~

前面福哥有整理CentOS7的教程,但是CentOS8现在已经成为了主流,所以,我们还是不要落后了比较好啊!

准备工作

本地化

安装语言包,默认CentOS8是没有英文语言包的。

dnf -y install glibc-langpack-en

如果是新环境,我们需要设置时区以保证时间显示正确。

timedatectl set-timezone Asia/Shanghai

安装wget

如果环境里没有wget,通过yum安装一下。

yum -y install wget

安装依赖库

我们需要安装依赖库,可以通过yum安装一下。

yum -y install zlib-devel openssl-devel

安装unzip

如果环境里没有unzip,通过yum安装一下。

yum -y install unzip

安装gcc

如果环境里没有编译工具,通过yum安装一下。

yum -y install gcc gcc-c++ make

建立环境根目录

mkdir -p /tongfu.net/env/

建立安装包目录并进入

mkdir /packages
cd /packages

安装

没有什么可说的了,直接安装Python3.8版本!

下载Python3.8

官方下载地址

https://www.python.org/downloads/release/python-3812/

home/topic/2021/1019/14/845be883c1da475493dfc160e4361190.png福哥选择的是tgz格式

https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz

官网下载

从官网下载安装包

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

安装Python3.8

编译安装

tar -xzvf Python-3.8.12.tgz
cd Python-3.8.12
./configure --prefix=/tongfu.net/env/python-3.8.12/
make
make install
rm -f /usr/bin/python
ln -s /tongfu.net/env/python-3.8.12/bin/python3.8 /usr/bin/python3.8
ln -s /tongfu.net/env/python-3.8.12/bin/python3.8 /usr/bin/python
ln -s /tongfu.net/env/python-3.8.12/bin/pip3 /usr/bin/pip3
ln -s /tongfu.net/env/python-3.8.12/bin/pip3 /usr/bin/pip
cd ../

Python3.8果然不一样,完善的安装包,什么setuptools、pip、distribute都不用我们自己安装了,直接就都带了。

home/topic/2021/1019/14/ce2f373fe7424c12c37a811845277bfc.png

yum

因为yum是用Python2.7开发的,而我们把默认python升级到了3.8版本,这样yum脚本会工作异常。所以,我们需要把下面两个脚本的解析程序改成python2.7才行。

find /usr/bin/ -type f -exec sed -i ':a;N;$!ba;s/\/usr\/bin\/python\([ \n]\)/\/usr\/bin\/python2.7\1/' {} \;

home/topic/2021/1019/15/c192ca23e2bd35d70bcf80cf20618d10.png

find /usr/libexec/ -type f -exec sed -i ':a;N;$!ba;s/\/usr\/bin\/python\([ \n]\)/\/usr\/bin\/python2.7\1/' {} \;

home/topic/2021/1019/15/f88b4fa72139c5c4fbf2e0b6f3ef0710.png

测试

版本号

输入命令“python --version”。
home/topic/2021/1019/14/3999da2d233f0a9c11e58403a20877d9.png输入命令“pip --verion”。
home/topic/2021/1019/14/98c72866dedf605ed56c7d8de94ad42b.png

Hello World

建立HelloWorld.py程序文件,使用vi写下如下代码:

#!/usr/bin/python

print("Fuge said: Hello world!")

input("")

使用python命令执行HelloWorld.py程序。

home/topic/2021/1019/14/a7a48587286d56c7b620a2891d7739da.png

可以看到打印了“Fuge said: Hello world!”内容,最后一行的input是用来暂停脚本执行的,避免窗口一闪而过。

总结

python语言很简单,比较适合做辅助使用,现在linux操作系统上的很多使用shell语言编写的脚本都换成了python了。

结束语

今后福哥会针对一些案例进行指导,这里面会包含一些实际的功能需求,大家在学习语法和基础知识之后还是需要通过实践才能将知识巩固,才能学有所成,学有所用~~