当前位置: 首页 > article >正文

macos pyenv 安装python tk 、tkinter图形库方法步骤和使用总结

在macos中, pyenv 是一款用来管理多版本python 的工具, 我们常用的tk图形库是一个独立的工具库,我们在python里面使用的tkinter模块仅是调用这个独立的tk图形库, 所以如果我们希望在python里面使用它, 就必须要先安装tk图形库,然后将安装好的tk库中相应的 lib, include, pkconfig路径增加到 LDFLAGS,CPPFLAGS,PKG_CONFIG_PATH环境变量中。 然后再重新编译python,这样我们才能在Python里面调用TK图形库的功能。

brew install tcl-tk 图形库安装

使用brew安装tk库直接执行下面的命令即可, brew会自动帮我们安装相关的依赖库 openssl@3, zlib, readline等库。

brew install tcl-tk

macport 包管理工具 port安装

tk图形库在port里面被分成了 tcl 和tk 这2个软件包, 我们必须同时安装这2个包才能和python整合。

sudo port install tcl tk tkimg

注意这2中安装方式安装后的路径不一样,详见 tk图形库安装方法

macos tcl-tk python图形库软件包安装 port 和brew 包管理工具安装方法和使用总结-CSDN博客

tk图形库环境变量配置

brew方式安装tk环境变量配置

将下面的代码添加到 ~/.bash_profile 或则  ~/.zshrc 文件中

# 编译python时能找到tcl-tk设置
export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"

# pkg-config找到tcl-tk的配置:
export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"

# 这个是tcl-tk的可执行文件添加到系统PATH (可以省略)
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"

# tkinter显示设置
export DISPLAY=":0.0"

port方式安装tk图形库环境变量配置

# 编译python时能找到tcl-tk设置
export LDFLAGS="-L/opt/local/lib"
export CPPFLAGS="-I/opt/local/include"

# pkg-config找到tcl-tk的配置:
export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig"

# 这个是tcl-tk的可执行文件添加到系统PATH (可以省略)
export PATH="/opt/local/bin:$PATH"

# tkinter显示设置
export DISPLAY=":0.0"

注意上面的配置中的开头的 -L   -I 这个是编译选项

export LDFLAGS="-L/opt/local/lib"  这里的 -L 表示将后面的 /opt/local/lib 目录添加到编译的库文件搜索列表
export CPPFLAGS="-I/opt/local/include"   这里的 -I 表示将后面的 /opt/local/include 目录添加到编译的 头文件搜索列表

 

使用pyenv安装python和编译tk库

因为我们已经配置了LDFLAGS,CPPFLAGS,PKG_CONFIG_PATH环境变量,所以我们在从新编译python时就会找到tk库,这样就能将python和tk库连接起来了。

# 使用pyenv卸载python
pyenv uninstall 3.12.5

# 删除python安装文件
rm -rf ~/.pyenv/versions/3.12.5

# 使用pyenv重新安装python
pyenv install 3.12.5

python tk库测试

在执行了上面的3个步骤后,可以通过以下命令测试tk库是否安装配置成功

python -m tkinter -c 'tkinter._test()'

如下图,如果出现tk窗口,说明tk库和python的安装和配置成功! 

注意事项:

1. tk图形库的安装必须在安装python之前;

2. 在从新安装python之前必须配置好环境变量 LDFLAGS,CPPFLAGS,PKG_CONFIG_PATH

3. 在使用pyenv uninstall 版本号 后需要删除 ~/.pyenv/versions/版本 目录

4. 最后一步才是重新编译python.

  

总结:macos中python tk库的安装和链接关键点就是配置先安装好tk图形库,并正确配置好LDFLAGS,CPPFLAGS, PKG_CONFIG_PATH 环境变量,然后再编译安装python, 这样就可以成功将python 和tk图形库链接起来了。

一次性配置多个lib, include和pkgconfig 参考示例

注意,下面这些配置是使用brew安装的各个相关包的lib, include和pkgconfig的相关配置,配置文件位置 ~/.bash_profile 或者 ~/.zshrc, 注意保存配置后执行 source ~/.bash_profile使配置生效。


export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/sqlite3/lib -L/usr/local/opt/xz/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/tcl-tk/lib"

export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/readline/include -I/usr/local/opt/sqlite3/include -I/usr/local/opt/xz/include -I/usr/local/opt/zlib/include -I/usr/local/opt/tcl-tk/include"

export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig:/usr/local/opt/sqlite3/lib/pkgconfig:/usr/local/opt/xz/lib/pkgconfig:/usr/local/opt/zlib/lib/pkgconfig:/usr/local/opt/tcl-tk/lib/pkgconfig"


http://www.kler.cn/a/315853.html

相关文章:

  • 实验一:自建Docker注册中心
  • Linux第四讲:Git gdb
  • 【系统设计】数据库压缩技术详解:从基础到实践(附Redis内存优化实战案例)
  • 【设计模式】关联关系与依赖关系
  • 红日靶机(七)笔记
  • 第8章利用CSS制作导航菜单
  • jQuery Mobile 方向改变事件
  • 01 基础request
  • Python进阶学习笔记(一)对象
  • vue的基本原理
  • linux下共享内存的3种使用方式
  • 串的存储实现方法(与链表相关)
  • centos7 源码编译安装faiss
  • 3、论文阅读:EnYOLO:一种基于图像增强的水下目标区域自适应实时检测框架
  • 【Unity设计模式】Unity MVC/MVP架构介绍,及MVC/MVP框架的简单应用
  • Linux —— 网络基础(一)
  • 设计模式中工厂模式的C语言实现
  • python是什么语言写的
  • 一个基于Java SSM框架(Spring、SpringMVC、MyBatis)的沙县小吃点餐系统
  • 基于微信小程序的智慧物业管理系统
  • Codeforces Round 974 (Div. 3)
  • VSCode引用Eigen库无法识别问题解决
  • LEAN 赋型唯一性(Unique Typing)之 Church-Rosser 定理 (Church-Rosser Theorem)及 赋型唯一性的证明
  • 交换机中的信号线需要差分布置吗?
  • 深度学习自编码器 - 随机编码器和解码器篇
  • Kotlin while 和 for 循环(九)