了解分发冻结的 Python Tkinter 应用程序需要 TCL 中的哪些文件

发布于 2024-09-27 00:17:14 字数 774 浏览 2 评论 0原文

我试图找出 Python (Python 2.6/Python 2.7) tcl 文件夹中的哪些文件是必需的,以便使用 Py2exe 或类似工具分发冻结的 Python Tkinter 应用程序。

快速而肮脏的方法(以 pyexe 为例)是按照下页的第二个示例进行操作,然后将 python 的 tcl 文件夹复制到 dist 文件夹(作为 tcl 子文件夹)。 http://www.py2exe.org/index.cgi/TixSetup

的问题xcopy tcl 技术的特点是它会复制 100 个分发时可能不需要的额外文件。

例如,我的实验表明,冻结 Python 2.7 Tkinter 应用程序时可能不需要以下 tcl 文件夹:

注意:数字大小是每个路径中所有文件的总和。

  • tcl\tcl8.5\encoding 1415K(删除不适用的编码?UTF-8/Unicode 需要任何编码吗?)
  • tcl\tcl8.5\tzdata 1450K(tcl 时钟演示的时区数据?)
  • tcl\tcl8.5*。 tcl 256K
  • tcl\tix8.4.3\demos 246K
  • tcl\tk8.5\demos 685K

我是否走在正确的道路上,或者不包括上述 tcl 内容会在路上咬我的屁股?

更好的是,是否有某种关于 Python 的 tcl 文件夹中的文件的文档?

I'm trying to figure out which files in Python's (Python 2.6/Python 2.7) tcl folder are required in order to distribute frozen Python Tkinter apps using Py2exe or similar.

The quick and dirty way to do this (using pyexe as an example) is to follow the 2nd example on the following page and then xcopy your python's tcl folder to your dist folder (as a tcl sub-folder).
http://www.py2exe.org/index.cgi/TixSetup

The problem with the xcopy tcl technique is that it copies 100's of extra files that may not be needed for distribution.

For example, my experiments show that the following tcl folders may(???) not be needed when freezing Python 2.7 Tkinter applications:

Note: The numeric sizes are the sum of all the files in each of these paths.

  • tcl\tcl8.5\encoding 1415K (delete non-applicable encodings? any needed for UTF-8/Unicode?)
  • tcl\tcl8.5\tzdata 1450K (timezone data for a tcl clock demo?)
  • tcl\tcl8.5*.tcl 256K
  • tcl\tix8.4.3\demos 246K
  • tcl\tk8.5\demos 685K

Am I on the right path or will not including the above tcl content bite me in the butt down the road?

Even better, is there some sort of documentation regarding the files in Python's tcl folder?

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

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

发布评论

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

评论(2

这个俗人 2024-10-04 00:17:14

您不需要演示(我希望;如果您这样做,那就太恶心了!),但其他一切都可能是必需的;编码用于在外界字节和Tcl字符之间进行转换,tzdata用于进行时间处理。如果您要向小型目标市场交付应用程序,您可以修剪编码和 tzdata - 事实上,在 Unix 上您可能可以省略整个 tzdata,因为系统将具有最新的-date 版本 – 但您应该意识到您限制了代码的可移植性。

You don't need the demos (I hope; if you do, that's gross!) but everything else is potentially required; the encodings are used to convert between the outside world's bytes and Tcl's characters, and the tzdata is used to make the time processing work. You can trim the encodings and tzdata if you are delivering the app to a small target market – indeed, on Unix you might be able to leave out the whole of tzdata because the system will have an up-to-date version – but you should be aware that you are restricting the code's portability.

嘿哥们儿 2024-10-04 00:17:14

当然,多纳尔是对的。不过,你的问题至少激励了其他几个人;如果您想进一步了解,我强烈建议您查看 Tkinter 邮件列表 和关联的 Wiki

Donal is right, of course. Your question is one that motivates at least several other people, though; if you'd like to pursue it more, I strongly recommend you check in with the Tkinter mailing list and associated Wiki.

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