使用 conda 安装 glpk cvxopt
installing glpk cvxopt with conda
我已经设置了一个环境,所有包都由 conda 管理(即使是 gcc)。我想要做的是安装支持 GLPK 的 cvxopt:
CVXOPT_BUILD_GLPK=1 pip install cvxopt
这样做直接导致
src/C/glpk.c:24:18: fatal error: glpk.h: No such file or directory
#include <glpk.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
所以我用 conda 安装了 glpk:
conda install -c conda-forge glpk=4.60
然后重试:
CVXOPT_BUILD_GLPK=1 pip install cvxopt
获取错误:
src/C/umfpack.c:23:21: fatal error: umfpack.h: No such file or directory
#include "umfpack.h"
^
compilation terminated.
error: command 'gcc' failed with exit status 1
所以我尝试用以下方法解决它:
conda install -c conda-forge scikit-umfpack=0.2.3
所以在这种情况下,CVXOPT_BUILD_GLPK=1 pip install cvxopt
是成功的,
但是,当我尝试 运行 一个 python 程序时:
Traceback (most recent call last):
File "my_programme.py", line 19, in <module>
from cvxopt import normal, matrix
File "/home/me/anaconda2/lib/python2.7/site-packages/cvxopt/__init__.py", line 32, in <module>
import cvxopt.base
ImportError: /home/me/anaconda2/lib/python2.7/site-packages/cvxopt/base.so: undefined symbol: _gfortran_st_write_done
我不知道如何解决这个问题....有什么帮助吗?谢谢你。我更愿意使用 conda 管理所有程序....
编辑:之后我尝试了:
pip uninstall cvxopt
conda install -c jjhelmus cvxopt_glpk=1.1.6
然后我得到这个错误:
File "my_code.py", line 19, in <module>
from cvxopt import normal, matrix
File "/home/me/anaconda2/lib/python2.7/site-packages/cvxopt/__init__.py", line 32, in <module>
import cvxopt.base
ImportError: liblapack.so.3gf: cannot open shared object file: No such file or directory
我真的不确定为什么即使在我使用 conda 统一管理我的包之后这也必须如此复杂......此外,在我做了所有这些混乱之后......我的系统也变得有问题。我对这一切感到很沮丧....
现在……我快崩溃了……我完全删除conda并安装conda clean……然后做
conda install -c jjhelmus cvxopt_glpk=1.1.6
在运行完成程序后,我得到:
Traceback (most recent call last):
File "extract_small_confgs_from_GMC.py", line 19, in <module>
from cvxopt import normal, matrix
File "/home/me/anaconda2/lib/python2.7/site-packages/cvxopt/__init__.py", line 32, in <module>
import cvxopt.base
ImportError: liblapack.so.3gf: cannot open shared object file: No such file or directory
天哪.....
我解决了我的问题:
conda install -c conda-forge glpk=4.60
conda install -c conda-forge cvxopt=1.1.8
基本上,我们需要使用一致的 condo-forge 的一切。例如他们的 glpk 和 cvxopt。
我已经设置了一个环境,所有包都由 conda 管理(即使是 gcc)。我想要做的是安装支持 GLPK 的 cvxopt:
CVXOPT_BUILD_GLPK=1 pip install cvxopt
这样做直接导致
src/C/glpk.c:24:18: fatal error: glpk.h: No such file or directory
#include <glpk.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
所以我用 conda 安装了 glpk:
conda install -c conda-forge glpk=4.60
然后重试:
CVXOPT_BUILD_GLPK=1 pip install cvxopt
获取错误:
src/C/umfpack.c:23:21: fatal error: umfpack.h: No such file or directory
#include "umfpack.h"
^
compilation terminated.
error: command 'gcc' failed with exit status 1
所以我尝试用以下方法解决它:
conda install -c conda-forge scikit-umfpack=0.2.3
所以在这种情况下,CVXOPT_BUILD_GLPK=1 pip install cvxopt
是成功的,
但是,当我尝试 运行 一个 python 程序时:
Traceback (most recent call last):
File "my_programme.py", line 19, in <module>
from cvxopt import normal, matrix
File "/home/me/anaconda2/lib/python2.7/site-packages/cvxopt/__init__.py", line 32, in <module>
import cvxopt.base
ImportError: /home/me/anaconda2/lib/python2.7/site-packages/cvxopt/base.so: undefined symbol: _gfortran_st_write_done
我不知道如何解决这个问题....有什么帮助吗?谢谢你。我更愿意使用 conda 管理所有程序....
编辑:之后我尝试了:
pip uninstall cvxopt
conda install -c jjhelmus cvxopt_glpk=1.1.6
然后我得到这个错误:
File "my_code.py", line 19, in <module>
from cvxopt import normal, matrix
File "/home/me/anaconda2/lib/python2.7/site-packages/cvxopt/__init__.py", line 32, in <module>
import cvxopt.base
ImportError: liblapack.so.3gf: cannot open shared object file: No such file or directory
我真的不确定为什么即使在我使用 conda 统一管理我的包之后这也必须如此复杂......此外,在我做了所有这些混乱之后......我的系统也变得有问题。我对这一切感到很沮丧....
现在……我快崩溃了……我完全删除conda并安装conda clean……然后做
conda install -c jjhelmus cvxopt_glpk=1.1.6
在运行完成程序后,我得到:
Traceback (most recent call last):
File "extract_small_confgs_from_GMC.py", line 19, in <module>
from cvxopt import normal, matrix
File "/home/me/anaconda2/lib/python2.7/site-packages/cvxopt/__init__.py", line 32, in <module>
import cvxopt.base
ImportError: liblapack.so.3gf: cannot open shared object file: No such file or directory
天哪.....
我解决了我的问题:
conda install -c conda-forge glpk=4.60
conda install -c conda-forge cvxopt=1.1.8
基本上,我们需要使用一致的 condo-forge 的一切。例如他们的 glpk 和 cvxopt。