将scip导入python

将scip导入python,python,osx-yosemite,scip,Python,Osx Yosemite,Scip,我尝试用python运行scip,但没有成功。我使用的是Yosemite(10.10.3)、Python2.7,并使用make安装了scip优化套件() 我可以在安装后通过终端启动scip sages-MBP:~ sage$ scip SCIP version 3.1.1 [precision: 8 byte] [memory: block] >[mode:optimized][LP solver: SoPlex 2.0.1] [GitHash: bade511] 但是当我尝试在pyt

我尝试用python运行scip,但没有成功。我使用的是Yosemite(10.10.3)、Python2.7,并使用make安装了scip优化套件()

我可以在安装后通过终端启动scip

sages-MBP:~ sage$ scip SCIP version 3.1.1 [precision: 8 byte] [memory: block] >[mode:optimized][LP solver: SoPlex 2.0.1] [GitHash: bade511] 
但是当我尝试在python中使用
import scip
时,会出现这样的消息

No module named scip
zibopt import scip的
出现相同的错误消息

如果我用python中的
print sys.path
打印系统路径,则文件所在的文件夹
scipptsite-3.1.1/scip-3.1.1/bin
scip-3.1.1.darwin.x86_64.gnu.opt.spx
位于。 出现错误消息的原因是否可能是我没有正确链接必要的库

或者pythonpath中必须包含哪些文件夹才能使scip正常工作


我希望有人能帮助我

您需要安装SCIP附带的python接口。转到
scip/interfaces/python/
并阅读
README
INSTALL
中的说明。该接口用于与SCIP的C代码进行通信

make
将只安装本机Linux或Mac二进制文件/库


需要将环境变量
DYLD\u LIBRARY\u PATH
设置为包含ScipOptSite安装的
lib/
目录(请参见@Сааa的注释)

文件
scip-3.1.darwin.x86\u 64.gnu.opt.spx
不是您需要的,它将被命名为
scip.py
scip.so
(或者可能是
scip-stuff-other-stuff.so
,但通常不适用于2.x)。该文件所在的任何目录都必须位于
sys.path
上(除非
scip
实际上为
.spx
文件安装了一个特殊的模块加载器,但我对此表示怀疑。)实际的
scip.py
文件夹必须位于
sys.path
或python文件所在的目录中。即使
scip.py
为空,也不会出现错误,表明模块不在它应该在的任何位置。请尝试切换到解包scip tarball的目录中,一个d安装头、库和二进制文件。不确定是否执行了该步骤。我已经完成了
make
sudo make install-dir=“/usr/local/
在'scip-3.1.1'中,但我找不到文件
scip.py
scip stuff其他内容。因此,
在'/usr/local/'或其子文件夹中。我按照
安装
说明进行操作。但我现在发现一个库错误:
E importorror:dlopen。”(/System/Library/anaconda/lib/python2.7/site-packages/pyscipopt/scip.so,2):库未加载:lib/libscipopt-3.1.1.darwin.x86_64.gnu.opt.so E引用自:/System/Library/anaconda/lib/python2.7/site-packages/pyscipopt/scip.so E原因:未找到图像
我使用了
python setup.py安装
,并在安装过程中出现提示时指定了路径:
/scipopt path/sciptsuite-3.1。1/lib/libscipopt-3.1.1.darwin.x86_64.gnu.opt.so
/scip opt path/scipptsite-3.1.1/scip-3.1.1/src
您可能需要更新您的
PYTHON_路径
指向
pyscipot/scip。因此
我从未见过未找到错误代码
图像
,因此我不确定如何修复此问题。更新
PYTHON_路径ode>没有帮助。但是在将
export DYLD\u LIBRARY\u PATH=/PATH to scip opt/scipopt-3.1.1/lib/
添加到我的bash之后,我可以将scip导入python。我知道
export DYLD\u LIBRARY\u PATH
不是推荐的过程,但它正在工作。很高兴听到它现在可以工作了!我以前从未听说过
DYLD\u LIBRARY\u PATH
电子版似乎是Mac OS的独家产品。请告诉我你是否找到了更干净的解决方案。我们将在下一个版本中使用它。