visualc&x2B+;for python在安装divisi2时失败,退出状态为2

visualc&x2B+;for python在安装divisi2时失败,退出状态为2,python,pip,Python,Pip,我正在Windows 8.1 46位上使用Python 2.7 我想安装divisi2 我已经安装了NumPy和SciPy,这是divisi2的先决条件。我已经安装了Python 9的Visual C++。 每当我发出pip install divisi2命令时,控制台中就会出现以下错误 svdlib/svdwrapper.c(89) : error C2059: syntax error : '{' svdlib/svdwrapper.c(90) : error C2275:

我正在Windows 8.1 46位上使用Python 2.7

我想安装divisi2

我已经安装了NumPy和SciPy,这是divisi2的先决条件。我已经安装了Python 9的Visual C++。 每当我发出pip install divisi2命令时,控制台中就会出现以下错误

     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\
干杯


Saurav

我从一位同事那里得到了这个提示,即使用


这将安装必备组件,然后您可以安装divisi2。

在windows 10上安装Pycools时遇到此问题。Python 2.7是不兼容的,或者不支持编译C99代码所需的Visual C++ 14。 这就是编译错误(C2065、C4047等)的原因

你需要

  • 安装VisualStudio 2015构建工具(这将安装C++ 14编译器)。<李>
  • 安装新的较新版本的Python(建议使用3.6)
  • 有关Python的Windows编译器的详细信息


    以上两种方法都很有效。
    不过,这一个比较容易。

    从默认选择安装VisualC++ 2015的构建工具。< /P> Python 3.8是什么?