哪些版本的 Python 可以在 Windows XP 中运行?
Posted
技术标签:
【中文标题】哪些版本的 Python 可以在 Windows XP 中运行?【英文标题】:What versions of Python will work in Windows XP? 【发布时间】:2018-05-11 00:47:19 【问题描述】:我想要仍然可以在 Windows XP 上运行的*** Python 版本。我需要 Python 2 和 Python 3。
哪些版本的 Python 可以在 Windows XP 上运行?
【问题讨论】:
【参考方案1】:我发现 python 2.7.9 和 python 3.4.3 是在 windows xp 中工作的最新版本的 python。我通过反复试验发现了这一点。
【讨论】:
【参考方案2】:我在 windows 错误对话框中找到了一个没有放弃的绝望家伙 (Daniel Pistelli):
https://ntcore.com/?p=458
我喜欢他处理这个话题的方式:
如果我们尝试在 XP 上启动任何新应用程序,我们会收到错误消息 消息通知我们它不是一个有效的 Win32 应用程序。这 由于 Portable 的 Optional Header 中的某些字段而发生 可执行。 [...] 幸运的是,调整我们要启动的可执行文件(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 并打开 hexeditors 和反汇编散列算法和模拟全部-together-so-it-works-under-xp-crazy!
【讨论】:
啊!...就是这样 :) 好的,没找到该死的东西,谢谢你的链接! 链接现在已关闭。可以找镜子here。【参考方案3】:有人构建了 Python 3.4.10,它比官方规定的用于 Windows XP 的 Python3 v3.4.3/3.4.4 稍新。由于来自第三方(非 Python 官方网站),使用后果自负,
-->Download<--
【讨论】:
官方:Python 3.4.10
python.org/downloads/release/python-3410【参考方案4】:
我尝试了 3.3.3 但我想出了一条错误消息使用 3.4.3/2.7.9 它们是现在唯一可以使用的版本
【讨论】:
【参考方案5】:其中任何一个,python 都非常独立于平台。有些功能可能不起作用,但最好在文档中找到。
【讨论】:
最新版本的python不会自行安装。他们说“对于早期版本的 Windows。 绝对不是其中任何一个。对于较新的版本,XP 说 python.exe “不是一个有效的应用程序”。以上是关于哪些版本的 Python 可以在 Windows XP 中运行?的主要内容,如果未能解决你的问题,请参考以下文章