Py 3.1 binary compiled for Windows NT 4.0

2012年2月25日

This is the Python 3.1 binary compiled for Windows NT 4.0. It comes with NO WARRANTY, just for convenience. To use it, download the archive and follow these steps:

  1. Run the Python 3.1 installer to install Python; before running, you need to make sure the Windows Installer is up to date (supposedly 2.0)
  2. Copy python.exe, pythonw.exe and w9xpopen.exe in the archive file to your Python installation directory
  3. Copy WINNT\system32\python31.dll in the archive file to your system’s WINNT\system32 directory (remember you use it on Windows NT 4.0, so it cannot be Windows\System32 or even Windows\SysWOW64!)
  4. Back up and delete everything in the DLLs directory in your Python installation; then copy all files in the DLLs directory in the archive to the DLLs directory in your Python installation
  5. Try running python.exe with some test code to see if it works for you

Limitation: Tkinter and SSL are not compiled because they require external libraries for compilation.

Py31NT4.7z (3b16cc3039f25a74d7e20601e72fa171)

Updated–Python 3.1 sqlite and SSL modules: Python31_for_cherrypy_NT4.7z; with both packages, you can run cherrypy on Python 3.1 on NT 4.0 now!

History of making this file: I was porting all my Python 2.5 programs to Python 3.0 in Year 2009. However, as I tested them to see their compatibility with NT 4.0, I found that the Python 3.0 installation package can run on NT 4.0, but after installation the Python binaries cannot work. I found the root cause was that the binaries are compiled using Visual Studio 2008.

As Python is open source, I tried to download the source code and compile using VC6. After several adjustments to fix the compilation errors, it passed compilation. As I tested, it works fine, except for some limitations mentioned above. Now I put it here.

为 Windows NT 4.0 而编译的 Python 3.1 可执行文件
这里是给 Windows NT 4.0 而编译的 Python 3.1 可执行文件。此文件包没有任何担保,只是为了方便而设。使用方法:先下载压缩包,然后做下面的步骤:

  1. 运行 Python 3.1 安装包来安装 Python;在运行前,你必须确保 Windows Installer 是足够新的(好像是 2.0)
  2. 复制压缩包内的 python.exe、pythonw.exe 和 w9xpopen.exe 到你的 Python 的安装目录
  3. 复制压缩包内的 WINNT\system32\python31.dll 到你的系统的 WINNT\system32 目录(请记住你是在 Windows NT 4.0 上使用它,所以这个目录不可能是 Windows\System32 甚或 Windows\SysWOW64!)
  4. 备份并删除你的 Python 安装目录的 DLLs 目录中的所有文件,然后复制压缩包内 DLLs 目录中的所有文件到你的 Python 安装目录中的 DLLs 目录
  5. 试着运行 python.exe 并跑一些测试代码,看看它是否正常工作

限制:Tkinter 和 SSL 没有被编译,因为它们需要外部的库才能被编译。

Py31NT4.7z (3b16cc3039f25a74d7e20601e72fa171)

更新–Python 3.1 的 sqlite and SSL 模块: Python31_for_cherrypy_NT4.7z; 用这里的两个包,你可以在NT 4.0的Python 3.1上运行cherrypy了!

制作本文件的历史:2009 年我在把我所有的 Python 2.5 程序移植到 Python 3.0 之上。然而,当我在 NT 4.0 上测试那些程序,以便看看它们与 NT 4.0 的兼容性时,我发现 Python 3.0 安装包虽然可以运行于 NT 4.0 上,但是安装之后的可执行文件无法使用。我发现归根结底是因为这些可执行文件是用 Visual Studio 2008 编译的。

因为 Python 是开源的,我试着下载它的源代码并在 VC6 中编译。在几次调整代码以修复编译错误之后,它成功地通过了编译。我测试了它,它工作很正常,除了前文所述的那些限制。现在我把它放上来了。

“Py 3.1 binary compiled for Windows NT 4.0” 已有 5 条评论

  1. 高博

    So great integration of the modern and the past!

  2. Robbie Mosaic 在

    I’m glad that you like it 🙂

  3. doyle 在

    你好,我正在尝试在windows nt4 上使用你的python。
    但是,我还需要使用pyodbc,而pyodbc的编译过程需要python31.lib,我不知道它是不是需要整个libs目录……
    所以想请问,你编译的python3.1里是否还有libs目录?
    或者,是否能告知一些编译python3.1的注意事项?这样也许我可以自己编译一个?

  4. Robbie Mosaic 在

    你好,我当初编译的时候,只考虑了最核心的模块,所有外围模块都没有编译,包括ssl、sqlite等等。这些可能需要你自己摸索摸索了,至少核心模块在VC++6.0下面稍微调节调节就能编译,不是太困难。

  5. Python 3.1 compilation that can run cherrypy on Windows NT 4.0 | Robbie Mosaic's Web Log

    […] 有了新编译的SSL和sqlite,可以在NT 4.0上跑cherrypy(一个非常小巧且实用的Web应用服务器)了。 请点击这里打开博客页面 […]

留下您的评论