【问题标题】:Why does not the Python MSI installers come with Tcl/Tk header files?为什么 Python MSI 安装程序不附带 Tcl/Tk 头文件?
【发布时间】:2010-01-22 02:40:08
【问题描述】:

可从 python.org 下载的 MSI 安装程序不包括 Tcl/Tk header(非源)文件(编译 matplotlib 等某些软件包所需的文件)。有人知道不包括他们的原因吗?

【问题讨论】:

标签: python tcl tkinter header-files tk


【解决方案1】:

Windows 安装程序不包含任何源文件。仅仅是因为这就是 Windows 应用程序的工作方式。它可以在一台计算机上编译,并且可以在所有计算机上运行。因此,python 和 php 等 Windows 版本的东西在启用所有选项的情况下进行了预编译。

如果你想要源文件,你必须下载源代码压缩包或其他东西。

【讨论】:

  • 我询问的是 header 文件 (.h),而不是源文件。 Python.org MSI 安装程序包括 Python 本身的 header 文件 (.h)。看看C:\Python26\include——因此,我的问题是关于不包括 Tcl/tk 开发人员 header 文件,而不是源文件。
  • 头文件源文件,Sridhar。令人惊讶的不是 Windows 安装程序不包含 Tcl/Tk 的头文件,而是它包含任何头文件。似乎包维护者认为核心 Python 的头文件对 Windows 二进制包用户很有用。 — 如果您想针对 Python 编译软件,您应该下载源代码分发版。
  • 制作c模块需要python头文件,tcl/tk头文件不需要。
  • 如果您有与 Tk 集成的 C 模块,您可能需要 Tk 标头。不过,在那个级别上没有那么多编写模块。
  • @Donal 所说的。像 matplotlib 这样的一些包需要 Tk 头文件。
【解决方案2】:

用户,即使在 Unix 系统上,也不需要 Tcl/Tk 头文件来使用 Python 解释器。

如果您想将解释器嵌入到另一个应用程序中,您只需要 python 头文件和 lib 文件(包含在安装程序中)。链接到 Tcl/Tk 的 tkinter 模块已经在二进制发行版中为您编译,因此您的 Python 脚本可以通过 tkinter 使用 Tcl/Tk ......尽管您可能不应该在嵌入式场景中。原因是,您的应用程序可以通过 Python/C API 向 Python 公开其 UI 功能,这样您就不会在主机应用程序窗口和 Python 源代码窗口之间出现奇怪的断开连接(在视觉上和编程上)。

长话短说,我可以看到需要 Tcl 和 Tk 标头的唯一真正原因是,如果您尝试从源代码构建 tkinter 模块,在 Windows 上几乎没有人这样做,所以他们将它们留给节省空间。

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多