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

发布于 2024-08-18 22:40:49 字数 111 浏览 10 评论 0原文

可从 python.org 下载的 MSI 安装程序不包括 Tcl/Tk 标头(非源)文件(编译某些包(如 matplotlib)所需的文件)。有谁知道不包括他们背后的理由?

The MSI installers downloadable from python.org does not include Tcl/Tk header (not source) files (that are required to compile some packages like matplotlib). Does anyone know of the rationale behind not including them?

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

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

发布评论

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

评论(2

自找没趣 2024-08-25 22:40:49

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

如果你想要源文件,你必须下载源 tarball 或其他东西。

The windows installers don't include ANY source files. Simply because that's how windows apps work. It can be compiled on one computer and it will work on all. So windows versions of things like python and php come precompiled with all options enabled.

If you want the source files you have to download a source tarball or something.

千纸鹤带着心事 2024-08-25 22:40:49

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

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

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

Users, even on Unix systems, do not really need the Tcl/Tk headers to just use the Python interpreter.

If you were to wanting to embed the interpreter in another application, you only need the python headers and lib files (which are included in the installer). The tkinter module, which is what is linked to Tcl/Tk, is already compiled for you in the binary distribution, so your Python scripts can just use Tcl/Tk through tkinter...though you probably shouldn't in an embedded scenario. The reason being, your application can expose its UI features to Python through the Python/C API, and then you don't have a weird disconnect (visually and programmatically) between host-app windows and Python-source windows.

Long story short, the only real reason that I can see for needing the Tcl & Tk headers would be if you were trying to build the tkinter module from source, which pretty much nobody does on Windows, so they leave them out to save space.

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