Visual C ++ para python falló con el estado de salida 2 al instalar divisi2

Estoy usando Python 2.7 en Windows 8.1 46 bit.

Quiero instalar divisi2 https://pypi.python.org/pypi/Divisi2/2.2.5

He instalado NumPy y SciPy, que ya son requisitos previos para divisi2. He instalado Visual C ++ para Python 9.0.

Siempre que emito el comando pip install divisi2 obtengo el siguiente error en la consola.

svdlib/svdwrapper.c(89) : error C2059: syntax error : '{' svdlib/svdwrapper.c(90) : error C2275: 'PyObject' : illegal use of this type as an expression c:\python27\include\object.h(108) : see declaration of 'PyObject' svdlib/svdwrapper.c(90) : error C2065: 'arr' : undeclared identifier svdlib/svdwrapper.c(90) : error C2065: 'type' : undeclared identifier svdlib/svdwrapper.c(90) : warning C4047: 'function' : 'PyArray_Descr *' diff ers in levels of indirection from 'int' svdlib/svdwrapper.c(90) : warning C4024: 'function through pointer' : differ ent types for formal and actual parameter 2 svdlib/svdwrapper.c(91) : error C2065: 'dim' : undeclared identifier svdlib/svdwrapper.c(91) : warning C4047: 'function' : 'npy_intp *' differs i n levels of indirection from 'int' svdlib/svdwrapper.c(91) : warning C4024: 'function through pointer' : differ ent types for formal and actual parameter 4 svdlib/svdwrapper.c(91) : error C2065: 'strides' : undeclared identifier svdlib/svdwrapper.c(91) : warning C4047: 'function' : 'npy_intp *' differs i n levels of indirection from 'int' svdlib/svdwrapper.c(91) : warning C4024: 'function through pointer' : differ ent types for formal and actual parameter 5 svdlib/svdwrapper.c(95) : error C2065: 'arr' : undeclared identifier svdlib/svdwrapper.c(96) : error C2065: 'arr' : undeclared identifier svdlib/svdwrapper.c(96) : warning C4047: 'return' : 'int *' differs in level s of indirection from 'int' svdlib/svdwrapper.c(100) : error C2143: syntax error : missing '{' before '* ' svdlib/svdwrapper.c(102) : warning C4133: 'initializing' : incompatible type s - from 'int *' to 'PyObject *' svdlib/svdwrapper.c(114) : warning C4133: 'return' : incompatible types - fr om 'PyObject *' to 'int *' error: command 'C:\\Users\\i054564\\AppData\\Local\\Programs\\Common\\Micros oft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2 ---------------------------------------- Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\ \users\\i054564\\appdata\\local\\temp\\pip-build-0aufqt\\divisi2\\setup.py';exec (compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\i054564\appdata\local\temp\pip-5d xl7g-record\install-record.txt --single-version-externally-managed --compile" fa iled with error code 1 in c:\users\i054564\appdata\local\temp\pip-build-0aufqt\d ivisi2\ 

aclamaciones,

Saurav

Encontré este problema al instalar pycocotools en Windows 10. Python 2.7 es incompatible o no es compatible con Visual C ++ 14, que es necesario para comstackr el código C99. Este es el motivo de los errores de comstackción (C2065, C4047, etc.).

Necesitas,

  1. Instale las herramientas de comstackción de Visual Studio 2015 (esto instalará el comstackdor C ++ 14).
  2. Instale una nueva versión más reciente de Python (se recomienda 3.6)

Más sobre los comstackdores de Windows para Python aquí .

introduzca la descripción de la imagen aquí

Finalmente resolví este problema después de recibir esta sugerencia de un colega, por ejemplo, para usar

https://github.com/develersrl/gccwinbinaries .

Esto instalará los requisitos y luego podrá instalar divisi2.

Ambos métodos anteriores funcionan muy bien.
Este es un poco más fácil.
Instale Visual C ++ 2015 Build Tools desde https://go.microsoft.com/fwlink/?LinkId=691126 con la selección predeterminada.