[Python-Dev] Status of C compilers for Python on Windows

Ray Donnelly mingw.android at gmail.com
Sun Oct 26 02:05:41 CEST 2014

On Sun, Oct 26, 2014 at 12:30 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Sat, 25 Oct 2014 19:24:38 -0400
> "R. David Murray" <rdmurray at bitdance.com> wrote:
>> I know I for one do not generally test patches on Windows because I
>> haven't taken the time to learn how to build CPython on it.  Sure, I
>> could test pure python changes by applying patches to an installed
>> Python, but that's an ongoing pain and I'd rather learn to build CPython
>> on Windows and get to use the normal hg tools.
>> If I could use a more linux-like toolchain to build CPython on windows,
> Well, I don't know how "linux-like" you want your toolchain, but FTR
> you should be able to build from the command line by running
> "Tools\buildbot\build.bat".
> I doubt the MinGW case can be much simpler :-)

I beg to differ:

"Tools\buildbot\build.bat" contains:
@rem Used by the buildbot "compile" step.
cmd /c Tools\buildbot\external.bat
call "%VS100COMNTOOLS%vsvars32.bat"
cmd /c Tools\buildbot\clean.bat
msbuild PCbuild\pcbuild.sln /p:Configuration=Debug /p:Platform=Win32

^ this involves purchasing and installing MS Visual Studio (I'm not
sure if the Express Edition can be used).

Without explanations for what each step is doing (I posted those last
week), on MSYS2:
Download and run:
>From the MSYS2 shell:
    pacman -S git base-devel mingw-w64-x86_64-toolchain mingw-w64-i686-toolchain
    git clone https://github.com/Alexpux/MINGW-packages
    cd MINGW-packages/mingw-w64-python3
    makepkg-mingw -sL --nocheck
(remove --nocheck to run the testsuite. Also you could put this into a
batch file if you were so inclined.)

To install the newly built packages, from the MSYS2 shell again:
    pacman -U mingw-w64-*.xz

To run them, you should add /mingw64/bin or /mingw32/bin to your PATH
(or launch a new shell via mingw32_shell.bat or mingw64_shell.bat)
Of course, if you don't want to build it from source you can simply issue:
    pacman -S mingw-w64-python3

.. all of the above applies equally to mingw-w64-python2.

> Regards
> Antoine.
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/mingw.android%40gmail.com

More information about the Python-Dev mailing list