python.exe、python3.exe和python3.6.exe之间有什么区别?

python.exe、python3.exe和python3.6.exe之间有什么区别?,python,windows,python-3.x,installation,Python,Windows,Python 3.x,Installation,我刚刚安装了64位版本的ActivePython 3.6,发现它包含三个可执行文件,它们报告相同的版本信息,大小相同,但不完全相同。我有 python.exe python3.exe python3.6.exe 虽然我可能会使用类似ProcMon的东西来确定python.exe是否只是一个存根,但在我花费这么多精力之前,我想我应该在这里查询一下 请注意,我将在代码项目上以完全相同的标题发布相同的问题,前提是它的读者不会完全重复这个问题。这些问题都是可以互换的,所以不用担心。基于不同的系统设置

我刚刚安装了64位版本的ActivePython 3.6,发现它包含三个可执行文件,它们报告相同的版本信息,大小相同,但不完全相同。我有

  • python.exe
  • python3.exe
  • python3.6.exe
虽然我可能会使用类似ProcMon的东西来确定python.exe是否只是一个存根,但在我花费这么多精力之前,我想我应该在这里查询一下


请注意,我将在代码项目上以完全相同的标题发布相同的问题,前提是它的读者不会完全重复这个问题。

这些问题都是可以互换的,所以不用担心。基于不同的系统设置,它们需要兼容性。ActivePython有着悠久的历史,并且构建在多个平台上,因此采取了所有预防措施。

只需在cmd中调用其中的每一个,即可查看解释器的输出。它们可能是python2.7、python3.5和python3.6。版本信息将是顶部的输出。Python for Windows的PSF发行版不使用版本化的可执行文件名。在Unix系统上使用这样的名称是正常的,但是在这种情况下,
python
通常是python2.x。至于这些是否是存根,在Windows上,可执行文件负责解析命令行,但解释器和内置模块位于pythonXY.dll中。如果您有dumpbin.exe之类的工具,您可以在可执行文件的DLL导入中看到这种依赖关系。我知道Unix系统上的约定,并怀疑可能是这样。dumpbin生成的报告与命令窗口中给出的响应相同。我通过UltraCompare运行了这三种方法,它只报告了少量差异,所有这些差异似乎都是存储在文件末尾附近的表中的文本。我认为可以肯定地说,它们是可以互换的。