首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac上安装PySCIPOpt时出错

在Mac上安装PySCIPOpt时出错
EN

Stack Overflow用户
提问于 2016-10-07 21:01:21
回答 2查看 1.1K关注 0票数 1

在OS上安装SCIP优化套件后,通过编译源代码并安装Cython,

代码语言:javascript
复制
make
make install INSTALLDIR="/usr/local/"
make SHARED=true GMP=false READLINE=false scipoptlib
pip install Cython

尝试安装PySCIPOpt

代码语言:javascript
复制
git clone https://github.com/SCIP-Interfaces/PySCIPOpt.git
cd PySCIPOpt
$ SCIPOPTDIR=./ python setup.py install

但这产生了一个错误。有什么建议吗?

代码语言:javascript
复制
Traceback (most recent call last):
File "setup.py", line 29, in <module>
scipsrcdir = sorted(scipsrcdir)[-1]  # use the latest version
IndexError: list index out of range

问题导入库

成功安装pyscipopt之后,当使用

代码语言:javascript
复制
from pyscipopt.scip import Model

我得到了Library not loaded错误

代码语言:javascript
复制
  File "test.py", line 1, in <module>
    from pyscipopt import Model
  File "/Users/test/anaconda/envs/test/lib/python2.7/site-packages/pyscipopt/__init__.py", line 3, in <module>
    from pyscipopt.scip      import Model
ImportError: dlopen(/Users/test/anaconda/envs/test/lib/python2.7/site-packages/pyscipopt/scip.so, 2): Library not loaded: lib/libscipopt-3.2.1.darwin.x86_64.gnu.opt.so
  Referenced from: /Users/test/anaconda/envs/test/lib/python2.7/site-packages/pyscipopt/scip.so
  Reason: image not found

经过一番搜索,我尝试了某人的解决方案:

代码语言:javascript
复制
export DYLD_LIBRARY_PATH=/path/to/scipoptsuite-3.2.1/lib 

但是,再次运行Python会产生不同的错误Symbol not found: _history_length

代码语言:javascript
复制
Traceback (most recent call last):
  File "test.py", line 1, in <module>
    from pyscipopt import Model
  File "/Users/test/anaconda/envs/test/lib/python2.7/site-packages/pyscipopt/__init__.py", line 3, in <module>
    from pyscipopt.scip      import Model
ImportError: dlopen(/Users/test/anaconda/envs/test/lib/python2.7/site-packages/pyscipopt/scip.so, 2): Symbol not found: _history_length
  Referenced from: /Users/test/Desktop/scipoptsuite-3.2.1/lib/libscipopt-3.2.1.darwin.x86_64.gnu.opt.so
  Expected in: flat namespace
 in /Users/test/Desktop/scipoptsuite-3.2.1/lib/libscipopt-3.2.1.darwin.x86_64.gnu.opt.so
EN

回答 2

Stack Overflow用户

发布于 2016-10-07 21:21:20

设置SCIPOPTDIR环境变量时,它将查找表单${SCIPOPTDIR}/scip-*/src的目录。

您会得到该错误,因为在刚克隆的PySCIPopt.git签出中没有任何与该格式匹配的目录。您需要将该环境变量设置为安装"SCIP优化套件“的目录。

票数 0
EN

Stack Overflow用户

发布于 2016-10-07 21:21:57

您需要先安装SCIP。精确地说,SCIP优化套件的共享库。然后,必须将环境变量SCIPOPTDIR设置为其根目录,而不是Python接口的目录。请仔细遵循安装文件中的说明:https://github.com/SCIP-Interfaces/PySCIPOpt/blob/master/INSTALL.md

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39925751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档