cvxopt构建轮失败 - 无法找到vcvarsall.bat

时间:2016-04-29 21:20:32

标签: python windows

我正在尝试用Python创建一个投资组合优化应用程序。其中一个必需的模块是CVXOPT。当我尝试安装模块时,出现错误,系统无法找到vcvarsall.bat。我发现有几个人遇到同样的问题,我已经尝试过我能看到的其他帖子的所有解决方案。我安装了最新版本的Microsoft Visual C ++,我已经升级了setuptools ......似乎没什么用。有人可以提供任何见解吗?当我尝试运行命令“pip install cvxopt:”

时,这是命令行的输出
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\System32>pip install cvxopt
Collecting cvxopt
  Using cached cvxopt-1.1.8.tar.gz
Building wheels for collected packages: cvxopt
  Running setup.py bdist_wheel for cvxopt ... error
  Complete output from command z:\users\mtlagrone\appdata\local\programs\python\
python35\python.exe -u -c "import setuptools, tokenize;__file__='Z:\\Users\\MTLA
GR~1\\AppData\\Local\\Temp\\pip-build-85pwcjv8\\cvxopt\\setup.py';exec(compile(g
etattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__,
 'exec'))" bdist_wheel -d Z:\Users\MTLAGR~1\AppData\Local\Temp\tmp02__bk90pip-wh
eel- --python-tag cp35:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.5
  creating build\lib.win-amd64-3.5\cvxopt
  copying src\python\coneprog.py -> build\lib.win-amd64-3.5\cvxopt
  copying src\python\cvxprog.py -> build\lib.win-amd64-3.5\cvxopt
  copying src\python\info.py -> build\lib.win-amd64-3.5\cvxopt
  copying src\python\misc.py -> build\lib.win-amd64-3.5\cvxopt
  copying src\python\modeling.py -> build\lib.win-amd64-3.5\cvxopt
  copying src\python\msk.py -> build\lib.win-amd64-3.5\cvxopt
  copying src\python\printing.py -> build\lib.win-amd64-3.5\cvxopt
  copying src\python\solvers.py -> build\lib.win-amd64-3.5\cvxopt
  copying src\python\__init__.py -> build\lib.win-amd64-3.5\cvxopt
  running build_ext
  building 'base' extension
  error: Unable to find vcvarsall.bat

  ----------------------------------------
  Failed building wheel for cvxopt
  Running setup.py clean for cvxopt
Failed to build cvxopt
Installing collected packages: cvxopt
  Running setup.py install for cvxopt ... error
    Complete output from command z:\users\mtlagrone\appdata\local\programs\pytho
n\python35\python.exe -u -c "import setuptools, tokenize;__file__='Z:\\Users\\MT
LAGR~1\\AppData\\Local\\Temp\\pip-build-85pwcjv8\\cvxopt\\setup.py';exec(compile
(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file_
_, 'exec'))" install --record Z:\Users\MTLAGR~1\AppData\Local\Temp\pip-yr46es6u-
record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.5
    creating build\lib.win-amd64-3.5\cvxopt
    copying src\python\coneprog.py -> build\lib.win-amd64-3.5\cvxopt
    copying src\python\cvxprog.py -> build\lib.win-amd64-3.5\cvxopt
    copying src\python\info.py -> build\lib.win-amd64-3.5\cvxopt
    copying src\python\misc.py -> build\lib.win-amd64-3.5\cvxopt
    copying src\python\modeling.py -> build\lib.win-amd64-3.5\cvxopt
    copying src\python\msk.py -> build\lib.win-amd64-3.5\cvxopt
    copying src\python\printing.py -> build\lib.win-amd64-3.5\cvxopt
    copying src\python\solvers.py -> build\lib.win-amd64-3.5\cvxopt
    copying src\python\__init__.py -> build\lib.win-amd64-3.5\cvxopt
    running build_ext
    building 'base' extension
    error: Unable to find vcvarsall.bat

    ----------------------------------------
Command "z:\users\mtlagrone\appdata\local\programs\python\python35\python.exe -u
 -c "import setuptools, tokenize;__file__='Z:\\Users\\MTLAGR~1\\AppData\\Local\\
Temp\\pip-build-85pwcjv8\\cvxopt\\setup.py';exec(compile(getattr(tokenize, 'open
', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --r
ecord Z:\Users\MTLAGR~1\AppData\Local\Temp\pip-yr46es6u-record\install-record.tx
t --single-version-externally-managed --compile" failed with error code 1 in Z:\
Users\MTLAGR~1\AppData\Local\Temp\pip-build-85pwcjv8\cvxopt\

C:\Windows\System32>

2 个答案:

答案 0 :(得分:0)

看起来Python库有一个本机组件需要使用Visual Studio构建工具进行编译。

根据Python documentation,对于Python 3.5(使用CPython),您需要为Visual Studio 2015安装build tools

您需要检查Windows 8.1和Windows 10 SDK选项。尝试再次运行pip install时,note that

  

每次要使用Python进行编译时,都必须从Visual C ++构建工具命令提示符(C:\ Program Files(x86)\ Microsoft Visual C ++构建工具)运行命令。

答案 1 :(得分:0)

如果你在Windows上使用python 2.7,你将需要VS2008编译器 - 这是编译python本身的那个,所以所有的包。你应该从这里得到它:https://www.microsoft.com/en-gb/download/details.aspx?id=44266

相关问题