[Numpy-discussion] Compiling NumPy on Windows for Python 3.3

Peter Cock p.j.a.cock@googlemail....
Sat Nov 10 17:24:00 CST 2012


I meant to click on "save" not "send", anyway:

On Sat, Nov 10, 2012 at 11:13 PM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
>>
>> Either MSVC or MinGW 3.4.5. For the latter see
>> https://github.com/certik/numpy-vendor
>>
>> Ralf
>
> I was trying with mingw32 via cygwin with gcc 2.4.4,

Typo, gcc 3.4.4

> which also failed with a cryptic error:
>
> ...
>   File "C:\Downloads\numpy-1.7.0b2\build\py3k\numpy\distutils\mingw32ccompiler.p
> y", line 94, in __init__
>     msvcr_success = build_msvcr_library()
>   File "C:\Downloads\numpy-1.7.0b2\build\py3k\numpy\distutils\mingw32ccompiler.p
> y", line 336, in build_msvcr_library
>     if int(msvcr_name.lstrip('msvcr')) < 80:
> AttributeError: 'NoneType' object has no attribute 'lstrip'

I think part of the problem could be in numpy/distutils/misc_util.py
where there is no code to detect MSCV 10,

def msvc_runtime_library():
    "Return name of MSVC runtime library if Python was built with MSVC >= 7"
    msc_pos = sys.version.find('MSC v.')
    if msc_pos != -1:
        msc_ver = sys.version[msc_pos+6:msc_pos+10]
        lib = {'1300' : 'msvcr70',    # MSVC 7.0
               '1310' : 'msvcr71',    # MSVC 7.1
               '1400' : 'msvcr80',    # MSVC 8
               '1500' : 'msvcr90',    # MSVC 9 (VS 2008)
              }.get(msc_ver, None)
    else:
        lib = None
    return lib

https://github.com/numpy/numpy/blob/master/numpy/distutils/misc_util.py#L353

Under Python 3.3, we have:

Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600
32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.version
'3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)]'

i.e. It looks to me like that dictionary needs another entry for key '1600'.

Peter


More information about the NumPy-Discussion mailing list