我如何要求Tkinter使用distutils?

时间:2010-11-24 17:14:53

标签: python tkinter distutils

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

我的Google搜索未能显示任何有用的信息,任何线索我是如何做到的?

谢谢, 韦恩

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

Tkinter位于python standard library始终应该在那里。

答案 2 :(得分:0)

不幸的是,没有标准的跨平台方式来强制安装TkinterTkinter是Python标准库的一部分,因此剥离Tkinter或其他标准库模块并将它们打包为可选实体的经销商正在使用他们自己的包管理工具这样做,一般来说,你需要知道每个发行版的具体命令。如果Tkinter(或tkinter中的Python 3)不可导入,那么您通常可以做的最好的选择是优化测试和失败,例如:

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