-->

Installing PySCIPOpt on Python 2.7 (Windows 10) vi

2019-08-19 08:51发布

问题:

I just tried installing PySCIPOpt with pip by doing "pip install pyscipopt", however I get the following error message:

What am I doing wrong?

I'm running Python 2.7 on a 64-bit Windows 10 machine. It wouldn't let me post the question like this, so I deleted some obvious parts from the error message below.

Collecting pyscipopt
  Using cached PySCIPOpt-1.2.0.tar.gz
Building wheels for collected packages: pyscipopt
  Running setup.py bdist_wheel for pyscipopt ... error
  Complete output from command C:\Python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\daniel\\appdata\\local\\temp\\pip-build-kejfxp\\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\daniel\appdata\local\temp\tmpaj_ydopip-wheel- --python-tag cp27:
  scipoptir:
  includedir: c:\users\daniel\appdata\local\temp\pip-build-kejfxp\pyscipopt\include
  libdir: c:\users\daniel\appdata\local\temp\pip-build-kejfxp\pyscipopt\lib
  running bdist_wheel
  creating build\temp.win32-2.7\Release\src\pyscipopt
  C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\users\daniel\appdata\local\temp\pip-build-kejfxp\pyscipopt\include -IC:\Python27\include -IC:\Python27\PC /Tcsrc\pyscipopt\scip.c /Fobuild\temp.win32-2.7\Release\src\pyscipopt\scip.obj
  scip.c
  src\pyscipopt\scip.c(507) : fatal error C1083: Cannot open include file: 'scip/scip.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2

  ----------------------------------------
  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
    Complete output from command C:\Python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\daniel\\appdata\\local\\temp\\pip-build-kejfxp\\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\daniel\appdata\local\temp\pip-zqfl67-record\install-record.txt --single-version-externally-managed --compile:
    scipoptir:
    includedir: c:\users\daniel\appdata\local\temp\pip-build-kejfxp\pyscipopt\include
    libdir: c:\users\daniel\appdata\local\temp\pip-build-kejfxp\pyscipopt\lib
    running install
    creating build\temp.win32-2.7\Release\src\pyscipopt
    C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\users\daniel\appdata\local\temp\pip-build-kejfxp\pyscipopt\include -IC:\Python27\include -IC:\Python27\PC /Tcsrc\pyscipopt\scip.c /Fobuild\temp.win32-2.7\Release\src\pyscipopt\scip.obj
    scip.c
    src\pyscipopt\scip.c(507) : fatal error C1083: Cannot open include file: 'scip/scip.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Common Files\\Microsoft\\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\\daniel\\appdata\\local\\temp\\pip-build-kejfxp\\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\daniel\appdata\local\temp\pip-zqfl67-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\users\daniel\appdata\local\temp\pip-build-kejfxp\pyscipopt\

It still doesn't let me post the question, so here's some more text, maybe now it will work. It still doesn't. Maybe now?

回答1:

This question is already answered here: https://github.com/SCIP-Interfaces/PySCIPOpt/issues/102

What was missing - apart from installing the SCIP Opt Suite - was to set the path to where the SCIP Opt Suite was installed:

set SCIPOPTDIR="C:\Program Files\SCIPOptSuite"

or something similar.



回答2:

Installation instructions says:

SCIPOPTDIR needs to have a subdirectory lib that contains the library.

Additionally, if you're building PySCIPOpt from source, i.e. not using the precompiled egg or wheel, you also need to place all SCIP header files into a directory include next to lib (this is done automatically by make install INSTALLDIR=$SCIPOPTDIR SHARED=true of the SCIP Optimization Suite)

So first you need to install SCIP Optimization Suite.