如何使用distutils导入Tkinter?
我正在尝试使用 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