如何正确pip install pyscipopt

1、看错误日志,如果出现了:

error: Microsoft Visual C++ 14.0 is required
看这篇博文解决方案,下载对应的版本就好了(注意:要细看评论区的内容)
我选择了百度网盘下载 Microsoft Visual C++ 15.0。
网盘链接(用XX猴,懂得都懂):
https://pan.baidu.com/s/19F4YurwwZ5A9WF5txzMZoQ 提取码:ka7q

2.经历了痛苦的等待后(实际很开心)

直接下载安装完后,又出现了新的问题(我随便拿别人的,我的python版本是3.8):

(base) C:\Users\claire>pip install pyscipopt
Collecting pyscipopt
  Using cached https://files.pythonhosted.org/packages/a7/47/e3d5fcc37138c0eb9695d7c26e22b999c1274b06606db183c2aa36f98e5a/PySCIPOpt-2.2.0.tar.gz
Building wheels for collected packages: pyscipopt
  Building wheel for pyscipopt (setup.py) ... error
  ERROR: Complete output from command 'C:\Users\claire\Anaconda3\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\claire\\AppData\\Local\\Temp\\pip-install-zja79xrm\\pyscipopt\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\claire\AppData\Local\Temp\pip-wheel-jnmor4q4' --python-tag cp37:
  ERROR: Using include path <C:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\src>.
  Using SCIP library <scip> at <C:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\lib>.
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.7
  creating build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\Multidict.py -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\__init__.py -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\scip.pyx -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\scip.pxd -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\benders.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\benderscut.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\branchrule.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\conshdlr.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\event.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\expr.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\heuristic.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\lp.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\presol.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\pricer.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\propagator.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\relax.pxi -> build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\sepa.pxi -> build\lib.win-amd64-3.7\pyscipopt
  running build_ext
  building 'pyscipopt.scip' extension
  creating build\temp.win-amd64-3.7
  creating build\temp.win-amd64-3.7\Release
  creating build\temp.win-amd64-3.7\Release\src
  creating build\temp.win-amd64-3.7\Release\src\pyscipopt
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\src -IC:\Users\claire\Anaconda3\include -IC:\Users\claire\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /Tcsrc\pyscipopt\scip.c /Fobuild\temp.win-amd64-3.7\Release\src\pyscipopt\scip.obj
  scip.c
  src\pyscipopt\scip.c(621): fatal error C1083: Cannot open include file: 'scip/scip.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
  ----------------------------------------
  ERROR: Failed building wheel for pyscipopt
  Running setup.py clean for pyscipopt
Failed to build pyscipopt
Installing collected packages: pyscipopt
  Running setup.py install for pyscipopt ... error
    ERROR: Complete output from command 'C:\Users\claire\Anaconda3\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\claire\\AppData\\Local\\Temp\\pip-install-zja79xrm\\pyscipopt\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\claire\AppData\Local\Temp\pip-record-aw3wx8lo\install-record.txt' --single-version-externally-managed --compile:
    ERROR: Using include path <C:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\src>.
    Using SCIP library <scip> at <C:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\lib>.
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    creating build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\Multidict.py -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\__init__.py -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\scip.pyx -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\scip.pxd -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\benders.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\benderscut.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\branchrule.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\conshdlr.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\event.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\expr.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\heuristic.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\lp.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\presol.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\pricer.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\propagator.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\relax.pxi -> build\lib.win-amd64-3.7\pyscipopt
    copying src\pyscipopt\sepa.pxi -> build\lib.win-amd64-3.7\pyscipopt
    running build_ext
    building 'pyscipopt.scip' extension
    creating build\temp.win-amd64-3.7
    creating build\temp.win-amd64-3.7\Release
    creating build\temp.win-amd64-3.7\Release\src
    creating build\temp.win-amd64-3.7\Release\src\pyscipopt
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\src -IC:\Users\claire\Anaconda3\include -IC:\Users\claire\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /Tcsrc\pyscipopt\scip.c /Fobuild\temp.win-amd64-3.7\Release\src\pyscipopt\scip.obj
    scip.c
    src\pyscipopt\scip.c(621): fatal error C1083: Cannot open include file: 'scip/scip.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command "'C:\Users\claire\Anaconda3\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\claire\\AppData\\Local\\Temp\\pip-install-zja79xrm\\pyscipopt\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\claire\AppData\Local\Temp\pip-record-aw3wx8lo\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\
其实真正的问题是:

你在C:\Program Files\SCIPOptSuite-6.0.2\include这个文件夹找不到scip.h文件。
这是因为你缺了SCIP优化组件,然后我就去这个网址:
https://www.scipopt.org/download.php?fname=SCIPOptSuite-6.0.2-win64-VS15.exe
下载了对应的版本。

上述链接的安装教程:

https://www.cnblogs.com/dengfaheng/p/10041488.html

按步骤安装好后其实问题还没有真正解决。

还是出现了同样的错误,那是因为Prompt不能知道你到底把SCIP优化组件放在哪个地方,你要写一个命令
set SCIPOPTDIR=“C:\Program Files\你的SCIP优化组件安装的位置”(我是默认的)
再输入pip install pyscipopt==对应版本,因为它默认安装最新的4.x,所以出错才正常啊,所以它还是会说你在C:\Program Files\SCIPOptSuite-6.0.2\include这个文件夹找不到scip.h文件。

注意!

SCIP优化组件的版本对应要下载的pyscipopt的版本
8.04.x
7.03.x

那好,由于我下的是6.02版本,那么对应的就要下2.x版本的pyscipopt。
最后就大功告成了。

走过的弯路
  1. 找了要去解决这个error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe’错误的博客,可是没什么卵用。
  2. (算是抱怨吧)奶奶的,有那么几篇博文误人子弟,胡说八道,有的说去下SCIP优化组件的tgz解压后放到我的lib文件夹,还有的是要我更新python安装程序的version,现在慢慢的一堆黄黄难看的warning。
  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值