哪些版本的 Python 可以在 Windows XP 中运行?

新手上路,请多包涵

我想要仍然可以在 Windows XP 上运行的最高级 Python 版本。我需要 Python 2 和 Python 3。

哪些版本的 Python 可以在 Windows XP 上运行?

原文由 Fake Name 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
2 个回答

我发现 Python 2.7.9 和 Python 3.4.4 是适用于 Windows XP 的最新版本的 Python。我通过反复试验发现了这一点。

原文由 Fake Name 发布,翻译遵循 CC BY-SA 4.0 许可协议

我找到了一个绝望的人 (Daniel Pistelli),他在 Windows 错误对话框中没有放弃:

https://ntcore.com/?p=458

我喜欢他处理这个话题的方式:

如果我们尝试在 XP 上启动任何新应用程序,我们将收到一条错误消息,通知我们它不是有效的 Win32 应用程序。发生这种情况是因为可移植可执行文件的可选标头中的某些字段。

[…]

幸运的是,调整我们要启动的可执行文件(python.exe)中的字段就足够了,不需要调整 DLL。如果我们现在尝试运行该应用程序,我们将收到一条错误消息,因为 kernel32 中缺少 API。因此,让我们将注意力转向进口。

然后他继续进行另外 5-6 个屏幕。总而言之,显然你必须:

  • 修改python.exe头文件,
  • 运行一个小的 Python 脚本来重新映射一些 DLL 调用,
  • 重新计算一些二进制哈希值,
  • 创建一个假的 kernel32.dll 并转发某些调用,
  • 修改 python37.dll 指向这个假的东西,

然后一切就绪。老实说,我不能完全遵循(更不用说验证!)一些步骤,但它看起来是合法的,并且有与 Daniel 针对较难部分的半生不熟的解决方案的链接,还有很多 Python 源代码解释。我一定会尝试一下。

事实上,这是他的 GitHub 页面上的最终脚本: https ://github.com/dpistelli/xptmrt

这个故事的寓意:你可以疯了,但你永远不会把所有的 dll 和 exes 和开放的十六进制编辑器和反汇编散列算法和模拟全部一起 - so-it-works-under-xp-crazy!

原文由 dkellner 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题