我如何需要 Tkinter 与 distutils 一起使用?

发布于 2024-10-04 09:46:54 字数 124 浏览 5 评论 0原文

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

我的谷歌搜索未能找到任何有用的信息,有什么线索我该怎么做吗?

谢谢, 韦恩

I'm trying to compile a program using distutils but I want to make sure that the user has Tkinter installed before installing my package.

My Google searches have failed to turn up any useful info, any clue how I'd do this?

Thanks,
Wayne

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

初心未许 2024-10-11 09:46:55

您可以拥有一个继承自 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

You can have a class that inherits from install and then do this:

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
喜爱纠缠 2024-10-11 09:46:55

不幸的是,没有标准的跨平台方法来强制安装 Tkinter。 Tkinter 是 Python 标准库的一部分,因此剥离 Tkinter 或其他标准库模块并将它们打包为可选实体的发行商正在使用自己的包管理工具来这样做一般来说,您需要了解每个发行版的特定命令。一般情况下,您可以做的最好的事情是测试并优雅地失败,如果 Tkinter (或 Python 3 中的 tkinter)不可导入,所以类似:

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

Unfortunately there is no standard cross-platform way to force Tkinter to be installed. Tkinter is part of the Python standard library so distributors who strip out Tkinter, or other standard library modules, and package them as optional entities are doing so using their own package management tools and, in general, you'd need to know the specific commands for each distribution. The best you can do in general is test for and fail gracefully if Tkinter (or tkinter in Python 3) is not importable, so something like:

import sys
try:
    import Tkinter
except ImportError:
    sys.exit("Tkinter not found")
狂之美人 2024-10-11 09:46:55

Tkinter 位于 python 标准库 中,它应该始终那里。

Tkinter is in the python standard library, it should always be there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文