无法在macb上安装gurobi for python

2024-10-01 17:31:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我用水蟒来安装古罗比。在

  1. 我安装了gurobi软件
  2. 我安装了水蟒
  3. 我已经拿到了古洛比的学习执照了。在

然后我用anaconda为python3.6.3创建了一个环境。 安装了gurobi之后,我找不到gurobiby包。在

我不知道为什么会这样。。。。在


具体:

Last login: Wed Nov 29 01:39:25 on ttys000
appledeMacBook-Pro-5:~ apple$ source activate python36
(python36) appledeMacBook-Pro-5:~ apple$ conda install gurobi
Fetching package metadata .............
Solving package specifications: .

# All requested packages already installed.
# packages in environment at /Users/apple/anaconda3/envs/python36:
#
gurobi                    7.5.2                    py36_0    gurobi
(python36) appledeMacBook-Pro-5:~ apple$ 

当我使用pycharm时

^{pr2}$

结果是

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

我发现一定是水蟒出了问题。我把包从水蟒复制到其他环境中,它就可以工作了。一定是和古洛比有点冲突。这就是为什么出口代码139。我也在水蟒岛上叫摩泽克。这个解算器可以在水蟒的环境下工作。在

from cvxpy import *
import mosek


# Create two scalar optimization variables.
x = Variable()
y = Variable()

# Create two constraints.
constraints = [x + y == 1,
               x - y >= 1]

# Form objective.
obj = Minimize(square(x - y))

# Form and solve problem.
prob = Problem(obj, constraints)
prob.solve(solver=MOSEK)

# The optimal dual variable (Lagrange multiplier) for
# a constraint is stored in constraint.dual_value.
print("optimal (x + y == 1) dual variable", constraints[0].dual_value)
print("optimal (x - y >= 1) dual variable", constraints[1].dual_value)
print("x - y value:", (x - y).value)
print(installed_solvers())

结果是

/Users/apple/anaconda3/envs/python36/bin/python "/Users/apple/Documents/GitHub/optimal-transport/作业/homework 5/practice.py"
optimal (x + y == 1) dual variable -0.0
optimal (x - y >= 1) dual variable 2.00000600065164
x - y value: 1.0000000011

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

水蟒的包裹

CVXcanon    0.1.1   0.1.1
Mosek   8.1.33  7.0.123
ca-certificates 2017.08.26  
certifi 2017.11.5   2017.11.5
cvxcanon    0.1.1   
cvxpy   0.4.9   0.4.11
dill    0.2.7.1 0.2.7.1
ecos    2.0.4   2.0.5
ecos    2.0.5   2.0.5
fastcache   1.0.2   1.0.2
gurobi  7.5.2   
intel-openmp    2018.0.0    2018.0.0
libcxx  4.0.1   
libcxxabi   4.0.1   
libedit 3.1 
libffi  3.2.1   
libgcc  4.8.5   
libgfortran 3.0.1   
mkl 2018.0.1    2018.0.0
multiprocess    0.70.4  0.70.5
ncurses 6.0 
numpy   1.13.3  1.13.3
openssl 1.0.2m  
pip 9.0.1   9.0.1
python  3.6.3   
readline    7.0 6.2.4.1
scipy   1.0.0   1.0.0rc2
scs 1.2.6   2.0.1
setuptools  36.5.0.post20170921 38.2.3
setuptools  36.5.0  38.2.3
six 1.11.0  1.11.0
sqlite  3.20.1  
tk  8.6.7   
toolz   0.8.2   0.8.2
wheel   0.30.0  0.30.0a0
xz  5.2.3   
zlib    1.2.11  

Tags: packageapple环境valuepackagesoptimalvariableusers
2条回答

在Anaconda Python中使用Gurobi最简单的方法是使用来自the instructions的Conda安装。在

  • 激活你想要使用的水蟒环境。如果根环境是3.6.3,那么您不需要做任何事情。在
  • 安装古罗比。在
  • 打开终端中的Gurobi,用

    grbgetkey your_gurobi_key
    
  • 将gurobi通道添加到conda使用的存储库列表中

    conda config  add channels http://conda.anaconda.org/gurobi
    
  • 安装Gurobi Anaconda Python库

    conda install gurobi
    
  • 检查iPython中的安装:

    m = grb.Model()
    vars = [m.addVar(name="x." + str(i)) for i in range(n)]
    m.update()
    constrs = [m.addConstr(vars[i] <= i) for i in range(n)]
    m.update()
    retval = m.optimize()
    

或使用此simple script检查库和许可证是否已安装:

python abrecheck.py

这可能与报告的在macOS/linux上运行gurobi7.5+和Anaconda与python3.x的问题有关(不确定确切的版本)。在

例如这个讨论https://groups.google.com/forum/#!topic/gurobi/6lw13VjvXsE

不确定是什么配置组合破坏了它,但是在经历了这个segfault问题之后,我已经让它使用python2.7。在

conda info...

      conda version : 4.5.0
conda-build version : 3.7.2
     python version : 2.7.14.final.0
           platform : osx-64
         user-agent : conda/4.5.0 requests/2.18.4 CPython/2.7.14 Darwin/17.5.0 OSX/10.13.4

conda list...
gurobi                    7.5.2                    py27_0    gurobi

我读过一篇文章说,anaconda的降级版本,但仍然保留Python3.x也可以,但不能重复这个解决方案。在

相关问题 更多 >

    热门问题