Skip to content

Supporting MSYS2-MINGW python #34

@naveen521kk

Description

@naveen521kk

MSYS2 provides Python which is compiled with GCC on Windows and is widely used in projects like pygobject and anything related to Gtk, where compiling them for normal python is difficult. Their python works, I have used it many times, but I have seen a lot of patches to make things work. See a list here.

Currently, the following fails miserably because distutils always look for MSVC which isn't required in this version. Here, extensions should be compiled with GCC but support for that is missing in GCC, I think setuptools has them though, but doing something like this will fail.

$ export SETUPTOOLS_USE_DISTUTILS=local
$ python setup.py build
Traceback (most recent call last):
  File "setup.py", line 13, in <module>
    from setuptools import Extension, setup
  File "C:/msys64/mingw64/lib/python3.8/site-packages/setuptools/__init__.py", line 241, in <module>
    monkey.patch_all()
  File "C:/msys64/mingw64/lib/python3.8/site-packages/setuptools/monkey.py", line 99, in patch_all
    patch_for_msvc_specialized_compiler()
  File "C:/msys64/mingw64/lib/python3.8/site-packages/setuptools/monkey.py", line 162, in patch_for_msvc_specialized_compiler
    patch_func(*msvc9('find_vcvarsall'))
  File "C:/msys64/mingw64/lib/python3.8/site-packages/setuptools/monkey.py", line 149, in patch_params
    mod = import_module(mod_name)
  File "C:/msys64/mingw64/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/setuptools/_distutils/msvc9compiler.py", line 295, in <module>
    raise DistutilsPlatformError("VC %0.1f is not supported by this module" % VERSION)
distutils.errors.DistutilsPlatformError: VC 6.0 is not supported by this module

The authors can surely help on how to get those in.

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions