Python 3.10.3 编译安装

时间内容
2022/3/26本文第一版
2023/3/6确认本文内容对于Python 3.11.2依然有效
2023/9/9新增deepin20.9依赖项安装参考命令

Python 3.10.3 编译安装

一.系统环境

操作系统:AlmaLinux release 8.5 (Arctic Sphynx);
ps:等同于redhat 8.5;其实我小改了更新源把AlmaLinux折腾成了AlmaLinux Stream;
系统安装:选择Server with GUI,不附带其他安装包;
内核版本:4.18.0-348.20.1.el8_5.x86_64;
python源码版本:3.10.3(理论上python没啥太大特性更替的话后续版本也适用)

二.Python安装

  • 谁都不会把这一步省略了吧(手动狗头)
dnf install gcc make
  • 官网下载安装包
wget #####/ Python-3.10.3.tar.xz     网址省略,官网自己找
  • 解压缩安装包
xz -d Python-3.10.3.tar.xz
tar -xvf Python-3.10.3.tar
cd Python-3.10.3/
  • 习惯性新建一个用户
groupadd test
useradd -g test test -s /sbin/nologin
  • 编译命令
    ps:编译完成后由于系统安装包环境的问题,make执行后会不同程度提示一些模块未安装,具体措施见下方FAQ
./configure --prefix=/usr/local/python310 --enable-optimizations
make
make altinstall 

(好像记得官方推荐用altinstall,当然install也OK)

  • 修改重要文件夹的权限,扫清设置环境变量后python文件的执行障碍
chown -R test.test /usr/local/python310/lib
chown -R test.test /usr/local/python310/bin
  • 设置环境/环境变量
ln -s /usr/local/python310/bin/python3.10 /usr/bin/python310
ln -s /usr/local/python310/bin/pip3.10 /usr/bin/pip310

vi /root/.bashrc
vi /home/【用户】/.bashrc
抄袭java的环境变量设置(手动流汗)
############################
export python_home310=/usr/local/python310
export PATH=.:$python_home310/bin:$python_home310/lib:$PATH
  • 验证是否安装成功(python3.6是系统自带的)
    在这里插入图片描述

然后可以无聊,pip310 install speedtest-cli玩玩(手动滑稽)
在这里插入图片描述

FAQ

未安装模块对应的包如下,有些个包和模块我没有一一对应上的,以后慢慢补充;直接执行下方命令即可。

#redhat系列适用
dnf install uuid-devel bzip2-devel ncurses-devel xz-devel openssl-devel libffi-devel tcl-devel tk-devel readline-devel zlib-static gdbm-devel libnsl2-devel sqlite-devel
#deepin 20.9适用
apt install libsqlite3-dev libbz2-dev libncurses-dev libgdbm-dev libgdbm-compat-dev tk-dev  libreadline-dev liblzma-dev  

在这里插入图片描述
最终只剩下_abc 、pwd、time;
在这里插入图片描述
ps:我鸟语比较烂,这段提示,翻译过来大概是makefile已经搞定这三个模块了,不用dnf找安装包了(不知道有没有理解错)。

缺失模块对应安装包
_bz2bzip2-devel
_cursesncurses-devel
_curses_panel
_dbm
_gdbm
_hashlib安装openssl-devel的时候顺带搞定了
_lzma
_sqlite3sqlite-devel
_ssl
_tkinter
_uuiduuid-devel
nislibnsl2-devel
readlinereadline-devel
zlibzlib-static
_ctypes
Python requires a OpenSSL 1.1.1 or neweropenssl-devel
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 3.10.3 中的 GUI 库主要是 tkinter。下面是一个简单的例子,它包含了 tkinter 中大部分常用的功能: ```python import tkinter as tk from tkinter import messagebox # 创建窗口对象 window = tk.Tk() window.title("GUI 示例") window.geometry("400x300") # 创建标签 label = tk.Label(text="这是一个标签", font=("Arial", 16)) label.pack() # 创建按钮 def button_click(): messagebox.showinfo("消息框标题", "这是一个消息框") button = tk.Button(text="点击我", command=button_click) button.pack() # 创建文本框 text_field = tk.Entry() text_field.pack() # 创建复选框 check_var = tk.BooleanVar() check_var.set(True) checkbutton = tk.Checkbutton(text="选择", variable=check_var) checkbutton.pack() # 创建单选框 radio_var = tk.StringVar() radio_var.set("A") radio_a = tk.Radiobutton(text="选项 A", variable=radio_var, value="A") radio_a.pack() radio_b = tk.Radiobutton(text="选项 B", variable=radio_var, value="B") radio_b.pack() # 创建下拉框 option_var = tk.StringVar() option_var.set("A") optionmenu = tk.OptionMenu(window, option_var, "A", "B", "C") optionmenu.pack() # 运行窗口 window.mainloop() ``` 上面的例子中,我们创建了一个窗口对象,设置了窗口的标题和尺寸。然后,我们创建了一个标签、一个按钮、一个文本框、一个复选框、两个单选框和一个下拉框,并将它们添加到窗口中。最后,我们运行了窗口,展示了 GUI 界面。 注意,这只是一个简单的例子,实际上 tkinter 中还有很多其他的功能,比如菜单栏、滚动条、画布等等。你可以通过查看 tkinter 文档来了解更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值