0

我想修补 Python 源代码,以便可以将其静态链接到我的 Windows 应用程序中(我知道这并不容易,甚至不鼓励,因为特别是核心模块的加载方式)。

尽管名称表明它们是必需的,但我可以省略某些“核心模块”吗?

我正在考虑_tkinter, _ssland ssl(还不能 100% 确定我是否要删除那个),winsoundand w9xpopen(它只会在 NT 平台上使用)在这里。这是可能的还是会以微妙的方式破坏事情?

注意:请不要提及静态链接出于某种原因是不好的。对于我需要它的情况,这将是迄今为止最好的解决方案。

4

1 回答 1

2

考虑到你多久以前问过这个问题,不确定你是否还需要这个答案,但我想我会留下一些我发现的信息,因为我想知道同样的事情:

注意:这是基于 Python 2.7.3 的源代码树

有一些 python 模块依赖于 _ssl/ssl 模块,但它们都有错误检查以支持没有 SSL 的 Python 版本,并且只会禁用该功能。

使用 ssl 模块的包含的 python 模块是:

  • 插座
  • ftplib
  • httplib
  • imaplib
  • 流行音乐库
  • smtplib
  • urllib
  • xmlrpclib

由于您将其嵌入到您自己的应用程序中,因此我可能也会与 _msi 分开。(这将允许您删除 msilib 模块)

如果您继续删除您提到的扩展,您总是希望从 Lib 文件夹中删除以下 python 模块:

  • 库-tk
  • ssl
  • wave(我假设您不需要解析波形文件的支持,因为您放弃了 winsound)
  • 苏瑙 ( ^ )
  • 新音响 ( ^ )
  • 音频设备 ( ^ )
  • aifc ( ^ )
  • 块 ( ^ )
  • toaiff ( ^ )

我假设这是一个 GUI 应用程序,所以您可能不需要以下 Python 模块:

  • 诅咒
  • tty
  • pty
  • 完成者

不过,不确定您的应用做了什么/做了什么,所以我会保守其他的。

至于用 C 编写的内置模块,我不能保证它 100% 没有问题,但您应该能够删除以下一些内容,具体取决于您的应用程序实际需要什么。

  • _csv
  • _json(尽管这个模块为仅 python 的 json 模块提供加速)
  • _hotshot(如果你不需要 hotshot,它是一个日志分析器)
  • 图像操作

可能还有其他人在这里。

于 2012-11-10T07:07:10.377 回答