为什么Python MSI安装程序不包含Tcl/Tk头文件?

0 投票
2 回答
585 浏览
提问于 2025-04-15 18:20

从python.org下载的MSI安装包不包含Tcl/Tk的头文件(不是源代码),而这些头文件是编译一些软件包,比如matplotlib时需要的。有人知道为什么不把它们包含在内吗?

2 个回答

0

即使是在Unix系统上,用户其实并不需要Tcl/Tk的头文件就能使用Python解释器。

如果你想把Python解释器嵌入到其他应用程序中,你只需要Python的头文件和库文件(这些在安装包里都有)。而tkinter模块,正是和Tcl/Tk相关的部分,已经为你编译好了,所以你的Python脚本可以通过tkinter来使用Tcl/Tk……不过在嵌入的情况下,你可能不应该这样做。原因是,你的应用程序可以通过Python/C API将自己的用户界面功能暴露给Python,这样就不会出现主应用窗口和Python窗口之间的奇怪不协调。

简单来说,我觉得唯一需要Tcl和Tk头文件的情况,就是如果你想从源代码构建tkinter模块,但几乎没人会在Windows上这么做,所以他们为了节省空间就把这些文件省略掉了。

1

Windows的安装程序不包含任何源文件。这是因为Windows应用程序的工作方式就是这样。你可以在一台电脑上编译它,然后它就可以在所有电脑上运行。所以像Python和PHP这样的Windows版本都是预先编译好的,所有功能都已经开启。

如果你想要源文件,就得下载一个源代码压缩包或者类似的东西。

撰写回答