From: Andrej Mitrovic on
On Feb 1, 5:44 pm, casevh <cas...(a)gmail.com> wrote:
> On Feb 1, 8:31 am, Andrej Mitrovic <andrej.mitrov...(a)gmail.com> wrote:
>
>
>
> > On Feb 1, 4:03 am, Andrej Mitrovic <andrej.mitrov...(a)gmail.com> wrote:
>
> > > On Feb 1, 2:59 am, Andrej Mitrovic <andrej.mitrov...(a)gmail.com> wrote:
>
> > > > Hi,
>
> > > > I've made a similar post on the Cython mailing list, however I think
> > > > this is more python-specific. I'm having trouble setting up distutils
> > > > to use MinGW instead of Visual Studio when building a module. Even tho
> > > > I've just uninstalled VS, and cleared out any leftover VS environment
> > > > variables, distutils keeps wanting to use it.
>
> > > > The steps I took:
>
> > > > Fresh installation of Python 3.1.1
> > > > Successfully installed MinGW, added to the path variable (gcc in
> > > > command prompt works)
> > > > Successfully installed Cython, imports from Cython in Python work.
> > > > Added a distutils.cfg file in \Python31\Lib\distutils\ directory with:
>
> > > > [build]
> > > > compiler=mingw32
>
> > > > (also tried adding [build_ext] compiler=mingw32)
>
> > > > There's a demo setup.py module that came with Cython, I tried the
> > > > following commands:
>
> > > > ----------------------------------------------------
>
> > > > > python setup.py build_ext --inplace
>
> > > > error: Unable to find vcvarsall.bat
>
> > > > > python setup.py build
>
> > > > error: Unable to find vcvarsall.bat
> > > > ----------------------------------------------------
>
> > > > I'm having the exact same issue with trying to build the Polygon
> > > > library via MinGW. In fact, the reason I had installed Visual Studio
> > > > in the first place was to be able to build the Polygon library, since
> > > > I was having these errors.
>
> > > > What do I need to do to make distutils/python use MinGW?
>
> > > Update:
>
> > > I installed and tried building with Python 2.6, it calls MinGW when I
> > > have the distutils.cfg file configured properly (same configuration as
> > > the Python 3.1.1 one)
>
> > > But why doesn't it work on a fresh Python 3.1.1 installation as well?
> > > Is this a bug?
>
> > Also tried calling (Python 3.1.1):
>
> > ----------------------------------------------------
> > python setup.py build --compiler=mingw32
>
> > error: Unable to find vcvarsall.bat
> > ----------------------------------------------------
>
> > I've tried using pexports and the dlltool to build new python31.def
> > and libpython31.a files, and put them in the libs folder. That didn't
> > work either.
>
> > I've also tried adding some print statements in the \distutils\dist.py
> > file, in the parse_config_files() function, just to see if Python
> > properly parses the config file. And it does, both Python 2.6 and 3.1
> > parse the distutils.cfg file properly. Yet something is making python
> > 3 look for the VS/VC compiler instead of MinGW. I'll keep updating on
> > any progres..- Hide quoted text -
>
> > - Show quoted text -
>
> I think this ishttp://bugs.python.org/issue6377.
>
> I applied the patch to my local copy of Python 3.1 and it seems to
> work.
>
> casevh

Thanks for the link, it seems like it's got more to do than what I
just posted. But in any case, it works for me now.

I think I'll have to open myself a blog and post some guides for
problems like these, so people can avoid spending whole nights around
a problem like this. :)
From: Andrej Mitrovic on
Well, in any case this seems to be working ok for me now.