首页 > 解决方案 > 错误:尝试安装 pyOpt-1.2.0 时找不到 vcvarsall.bat

问题描述

我正在尝试将 python 包 pyOpt ( http://www.pyopt.org/ ) 安装到安装了 Python 3.9.5 的 Windows 10 机器上。我手动下载了文件并将它们存储在 /Lib/site-packages 中。然后我从 pyOpt 包目录运行以下命令:

python setup.py 安装

我遇到了一个问题,它说它无法找到 vcvarsall.bat。我已经阅读了 2013 年关于类似主题的主题,但它指的是 Python 2.7。

阅读 Stephen Dower 的这篇文章后,似乎 vcvarsall.bat 已链接到 Visual Studio。然后我安装了 Visual Studio 2015,但仍然看到错误。

作为参考,以下是命令行的输出:

running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building library "algencan" sources
building library "cobyla" sources
building library "conmin" sources
building library "filtersd" sources
building library "ffsqp" sources
building library "gcmma" sources
building library "ksopt" sources
building library "midaco" sources
building library "mma" sources
building library "mmfd" sources
building library "nlpql" sources
building library "nlpqlp" sources
building library "nsga2" sources
building library "psqp" sources
building library "sdpen" sources
building library "slsqp" sources
building library "snopt" sources
building library "solvopt" sources
building extension "pyOpt.pyALGENCAN.algencan" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyALGENCAN\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyALGENCAN\source\f2py' to include_dirs.
  adding 'build\src.win-amd64-3.9\pyOpt\pyALGENCAN\source\f2py\algencan-f2pywrappers.f' to sources.
building extension "pyOpt.pyCOBYLA.cobyla" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyCOBYLA\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyCOBYLA\source\f2py' to include_dirs.
building extension "pyOpt.pyCONMIN.conmin" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyCONMIN\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyCONMIN\source\f2py' to include_dirs.
  adding 'build\src.win-amd64-3.9\pyOpt\pyCONMIN\source\f2py\conmin-f2pywrappers.f' to sources.
building extension "pyOpt.pyFILTERSD.filtersd" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyFILTERSD\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyFILTERSD\source\f2py' to include_dirs.
  adding 'build\src.win-amd64-3.9\pyOpt\pyFILTERSD\source\f2py\filtersd-f2pywrappers.f' to sources.
building extension "pyOpt.pyFSQP.ffsqp" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyFSQP\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyFSQP\source\f2py' to include_dirs.
  adding 'build\src.win-amd64-3.9\pyOpt\pyFSQP\source\f2py\ffsqp-f2pywrappers.f' to sources.
building extension "pyOpt.pyGCMMA.gcmma" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyGCMMA\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyGCMMA\source\f2py' to include_dirs.
building extension "pyOpt.pyKSOPT.ksopt" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyKSOPT\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyKSOPT\source\f2py' to include_dirs.
building extension "pyOpt.pyMIDACO.midaco" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyMIDACO\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyMIDACO\source\f2py' to include_dirs.
building extension "pyOpt.pyMMA.mma" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyMMA\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyMMA\source\f2py' to include_dirs.
building extension "pyOpt.pyMMFD.mmfd" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyMMFD\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyMMFD\source\f2py' to include_dirs.
building extension "pyOpt.pyNLPQL.nlpql" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyNLPQL\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyNLPQL\source\f2py' to include_dirs.
  adding 'build\src.win-amd64-3.9\pyOpt\pyNLPQL\source\f2py\nlpql-f2pywrappers.f' to sources.
building extension "pyOpt.pyNLPQLP.nlpqlp" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyNLPQLP\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyNLPQLP\source\f2py' to include_dirs.
building extension "pyOpt.pyNSGA2.nsga2" sources
building extension "pyOpt.pyPSQP.psqp" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyPSQP\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pyPSQP\source\f2py' to include_dirs.
  adding 'build\src.win-amd64-3.9\pyOpt\pyPSQP\source\f2py\psqp-f2pywrappers.f' to sources.
building extension "pyOpt.pySDPEN.sdpen" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pySDPEN\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pySDPEN\source\f2py' to include_dirs.
  adding 'build\src.win-amd64-3.9\pyOpt\pySDPEN\source\f2py\sdpen-f2pywrappers.f' to sources.
building extension "pyOpt.pySLSQP.slsqp" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pySLSQP\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pySLSQP\source\f2py' to include_dirs.
building extension "pyOpt.pySNOPT.snopt" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pySNOPT\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pySNOPT\source\f2py' to include_dirs.
building extension "pyOpt.pySOLVOPT.solvopt" sources
f2py options: []
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pySOLVOPT\source\f2py\fortranobject.c' to sources.
  adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\pyOpt\pySOLVOPT\source\f2py' to include_dirs.
building data_files sources
build_src: building npy-pkg config files
running build_py
running build_clib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
customize MSVCCompiler using build_clib
CCompilerOpt.__init__[760] : load cache from file -> C:\Users\[USER]\AppData\Local\Programs\Python\Python39\Lib\site-packages\pyOpt-1.2.0\build\temp.win-amd64-3.9\ccompiler_opt_cache_clib.py
CCompilerOpt.__init__[771] : hit the file cache
CCompilerOpt.cc_test_flags[1008] : testing flags (/O2)
error: Unable to find vcvarsall.bat
CCompilerOpt.cache_flush[804] : write cache to path -> C:\Users\[USER]\AppData\Local\Programs\Python\Python39\Lib\site-packages\pyOpt-1.2.0\build\temp.win-amd64-3.9\ccompiler_opt_cache_clib.py

标签: pythonpython-3.xwindowsvisual-studio

解决方案


推荐阅读