如何使用distutils导入Tkinter?

2 投票
3 回答
504 浏览
提问于 2025-04-16 07:33

我正在尝试使用 distutils 来编译一个程序,但我想确保用户在安装我的软件包之前已经安装了 Tkinter。

我在谷歌上搜索了很久,但没有找到有用的信息,有谁知道我该怎么做吗?

谢谢,
Wayne

3 个回答

0

Tkinter是Python标准库的一部分,你可以在这里找到相关文档,它应该总是存在的。

1

很遗憾,目前没有一种标准的方法可以强制安装 Tkinter,因为它是Python标准库的一部分。有些软件包的发布者会把 Tkinter 或其他标准库模块去掉,然后把它们作为可选的内容来打包。这些发布者使用的是他们自己的软件包管理工具,所以你需要知道每个发行版的具体命令。一般来说,最好的做法是检查一下 Tkinter(在 Python 3 中是 tkinter)是否可以导入,如果不能,就优雅地处理这个错误,像这样:

import sys
try:
    import Tkinter
except ImportError:
    sys.exit("Tkinter not found")
2

你可以创建一个类,这个类可以继承自 install,然后你可以这样做:

from distutils.command.install import install

class Install(install):
    def run(self):
        if not check_dependencies():
             # Tkinter was not installed, handle this here
        install.run(self) # proceed with the installation

def check_dependencies():
    try:
        return __import__('Tkinter')
    except ImportError:
        return None

撰写回答