Python 哪条蟒蛇;核心模块“;我可以从自定义构建中删除吗?

Python 哪条蟒蛇;核心模块“;我可以从自定义构建中删除吗?,python,windows,visual-c++,static-linking,Python,Windows,Visual C++,Static Linking,我想修补Python源代码,以便静态地将其链接到我的Windows应用程序中(我知道这并不容易,甚至不鼓励这样做,因为核心模块是如何加载的) 我是否可以忽略某些“核心模块”,尽管名称表明它们是必需的 我正在考虑\u tkinter,\u ssl和ssl(目前还不能100%确定我是否要删除它),winsound和w9xpopen(它只在NT平台上使用)。这是可能的还是会以微妙的方式破坏事物 NB:请不要提及静态链接由于某种原因是不好的。对于我需要它的情况,它将是目前为止最好的解决方案。不确定你是否

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

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

我正在考虑
\u tkinter
\u ssl
ssl
(目前还不能100%确定我是否要删除它),
winsound
w9xpopen
(它只在NT平台上使用)。这是可能的还是会以微妙的方式破坏事物


NB:请不要提及静态链接由于某种原因是不好的。对于我需要它的情况,它将是目前为止最好的解决方案。

不确定你是否还需要这个答案,因为你问这个问题已经很久了,但我想我会留下一些我发现的信息,因为我想知道同样的事情:

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

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

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

  • 插座
  • ftplib
  • httplib
  • 伊马普利布
  • poplib
  • smtplib
  • urllib
  • xmlrpclib
既然你将它嵌入到自己的应用程序中,我可能也会放弃_msi。(这将允许您删除msilib模块)

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

  • lib-tk
  • ssl
  • wave(我假设您不需要解析wave文件的支持,因为您删除了winsound)
  • 苏瑙(下)
  • sunaudio(^)
  • 音频开发(^)
  • aifc(^)
  • 区块(^)
  • toaiff(^)
我假设这是一个GUI应用程序,因此您可能不需要以下Python模块:

  • 诅咒
  • tty
  • pty
  • 补全器
不过,我不确定你的应用程序做了什么,所以我对其余部分持保守态度

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

  • _csv
  • _json(尽管此模块为仅python的json模块提供了加速功能)
  • _hotshot(如果您不需要hotshot,它是一个日志分析器)
  • imageop

这里可能还有其他人。

为什么不使用Ironpython?我有一个项目,我们用python脚本运行一些计算,并将结果对象传递回C#@Sharun:很简单,因为我不使用C#)我看到了windows应用程序,并假设是.NET。如果它是CLR而不是Win32,你应该能够使用C++和IrPyPython不CLR…我甚至不确定静态链接在基于CLR的语言中是如何工作的。非常感谢你给出了详尽的答案。