Centos8安装python3.7.10

本文介绍了在CentOS8系统中安装Python3.7.10的过程,强调了安装前需要预先安装libffi开发库以避免ctypes模块错误。同时提到了matplotlib后端的相关知识,Tkinter作为Python调用Tcl/Tk的接口。文章还提醒读者,Python安装完成后,再安装特定插件可能无效,并提供了安装Python时的优化选项。

安装前不要着急,需要提前安装很多东西

1.libffi-devel

Python3中有个内置模块叫ctypes,它是Python3的外部函数库模块,它提供兼容C语言的数据类型,并通过它调用Linux系统下的共享库(Shared library),此模块需要使用CentOS7系统中外部函数库(Foreign function library)的开发链接库(头文件和链接库)。
由于在CentOS7系统中没有安装外部函数库(libffi)的开发链接库软件包,所以在安装pip的时候就会报"ModuleNotFoundError: No module named '_ctypes'"的错误。

yum install libffi libffi-devel -y

2.openssl-devel

不安装这个,会导致pip无法联网

yum install openssl openssl-devel -y

3.tkinter

推荐的python后台程序,接下来是我的理解:一般情况下unix是不自带可以提供给python用于tcl调用的程序的,需要自行安装。如果没有可用的后端,使用matplotlib会报错。

matplotlib中什么是后端

tkinter其实是Python调用tcl程序的标准Python程序,可以通过这个interface调用tcl的程序,因为在大多数的unix系统中都内置了很多的tcl程序和命令。

Tcl 是“工具控制语言(Tool Command Language)”的缩写,其面向对象为otcl语言。Tk 是 Tcl“图形工具箱”的扩展,它提供各种标准的 GUI 接口项,以利于迅速进行高级应用程序开发。
————————————————
版权声明:本文为优快云博主「bladestone」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/blueheart20/article/details/78763208

sudo yum install python3-tkinter
sudo yum install tk tk-devel

4.其他

yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel

全部装上以后再安装python,否则反复安装十分麻烦,且耗费时间。

python安装以后再安装上述插件,是无效的!!!

5.安装python

注1:--prefix=/usr/local/python3 此条指令会指定安装位置,可以不进行指定。

注2:--enable-optimizations 此条指令会启用配置文件引导的优化(PGO)和链接时间优化(LTO),将会导致配置时间显著增加(>20分钟),但会在未来让python程序的运行速度提升10%左右。

cd Python-3.7.10
./configure --with-ssl (--prefix=/usr/local/python3) (--enable-optimizations)
make
sudo make install

有些文章建议添加软链接,但我的3.7版本自带添加了软链接。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值