由于网络上大多文章都是有关No module named 'tkinter’的问题,而没有实质性解决
_tkinter
找不到的问题。注意:这两个报错是不同的!!!
对于No module named '_tkinter'
问题,如果你使用了网络上大部分方法都不适用,单纯安装python3-tk后还是报错。那么这篇文章将会对你有帮助。
本人设备环境: Ubuntu 22.04, python3.10
ModuleNotFoundError: No module named '_tkinter'
这个错误表明 Python 无法找到名为 _tkinter
的模块。 _tkinter
是 Python 标准库的一部分,提供了对 Tkinter GUI 工具包的访问。这个问题可能由几个原因引起:
⚙️问题分析
- Python安装不完整或损坏:在 Python 安装过程中,Tkinter 可能没有被正确安装或损坏。
- 缺失 Tkinter 库:在某些系统中,需要单独安装 Tkinter 依赖的库。
- 使用定制的 Python 版本:如果你使用的是自定义编译或从非官方源安装的 Python,Tkinter 可能没有被包含在内。
🚩报错原因
报错的主要原因是 _tkinter
模块没有在你的 Python 安装中找到。这可能是因为 tkinter 没有被安装,或者安装不完整。
🧩解决思路
- 安装tkinter依赖:在某些系统上,你可能需要安装 Tkinter 的依赖。
- 重新编译python:安装完 Tkinter 的依赖,尝试重新编译 Python。
💡解决方法
1. 安装tkinter依赖
(1)在Ubuntu上,你可以使用以下命令(其他系统,请自行变换):
sudo add-apt-repository ppa:deadsnakes/ppa #添加一个个人仓库,里面有适合python3.10版本的tkinter模块
sudo apt-get update
sudo apt-get install python3.10-tk
(2)此时输入以下命令,在终端查看tk的版本:
dpkg --list | grep python3.10-tk
注意:
假如你在第(1)步中使用的安装命令是sudo apt-get install python3-tk
,此时一定要查看一下tk的版本。因为假如你的环境中有多个python版本,那此时你安装的tk版本并不一定是你想要的版本。因为这里我使用的命令是sudo apt-get install python3.10-tk
,则是安装了特定python版本的tk。
如果你直接使用apt安装的python,应该不用编译,下面的2和3大步骤操作不用执行。
2. 重新编译python
我这里的python环境是自己手动下载包,自行编译的,所以添加了新的模块后,需要重新编译。
(1)首先进入Python3.10文件夹下
cd [Python-3.10.0/](这里换成自己的路径)
(2)开始安装
./configure --enable-optimizations
(3)编译
sudo make
sudo make install
这样python3.10就重新编译完成了。
3. 设置环境变量
如果您执行了上述第2步骤,那么就已经在/usr/local
中手动安装了 python3.10 版本。另一方面,当您使用apt
安装 python3.10-tk
时,其软件包进入/usr
而不是/usr/local
,因此还需要设置环境变量。
(1)我们可以进入到下面这个目录查看是否存在和tk相关的软件包:
cd /usr/lib/python3.10/lib-dynload/
ls
我们可以看到已经安装了tkinter相关的文件_tkinter.cpython-310-x86_64-linux-gnu.so
,但是是在/usr
目录下的。
(2)添加环境变量
sudo vim ~/.bashrc
在文件的最下面添加一行:
export PYTHONPATH="${PYTHONPATH}:/usr/lib/python3.10/lib-dynload/"
保存文件后,source一下:
source ~/.bashrc
至此,就完成了所有操作,那么你可以试着导入一下tkinter模块啦。
参考网址
- https://blog.csdn.net/PythonAigc/article/details/138270411?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-2-138270411-blog-78763208.235%5Ev43%5Epc_blog_bottom_relevance_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-2-138270411-blog-78763208.235%5Ev43%5Epc_blog_bottom_relevance_base3&utm_relevant_index=5
- https://gitcode.csdn.net/65e7da8c1a836825ed78a9b9.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NTEzMDA1LCJleHAiOjE3MTk4ODA5NjEsImlhdCI6MTcxOTI3NjE2MSwidXNlcm5hbWUiOiJsaHloYWl5YW4ifQ.ji8ivsYz7hU_d1OoNltIurw0vDzTjN-MpZny0415aKY
- https://blog.csdn.net/weixin_43935402/article/details/121416812
- https://askubuntu.com/questions/1459418/can-not-use-tkinter-anymore-and-when-i-try-to-install-the-system-tells-me-that-i