首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入PyMC失败(从conda.binstar安装后未加载gfortran库)

导入PyMC失败(从conda.binstar安装后未加载gfortran库)
EN

Stack Overflow用户
提问于 2014-07-20 18:55:45
回答 3查看 2.6K关注 0票数 4

我在MacOS10.9.4 (Maverick)上运行Python2.7.8 ::Anaconda2.0.1 (x86_64)和conda 3.5.5

我通过运行PyMC安装了

conda install -c https://conda.binstar.org/pymc pymc

但是,import pymc给出了一个错误(我在最后复制了跟踪)。

Edit1:从阅读这个问题“无法导入名称传单”看,问题似乎是,通过使用anaconda安装PyMC,它是针对不同的gfortran构建的,而不是brew install gcc提供的。我很高兴卸载和再次尝试,但我希望有人会提供给我的指示,在我把事情搞砸更多!

Edit2:回溯告诉我,//anaconda/lib/python2.7/site-packages/pymc/flib.so试图调用不存在的/usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libgfortran.3.dylib。我认为直到最近,homebrew还自己安装了gfortran,因此在/usr/local/Cellar中会有一个文件夹。然而,现在,当gfortranbrew install gcc安装时,它在/usr/local/Cellar/gcc/4.8.3_1/bin中。帮助!

(旁白:由于错误提示了我从brew安装的gfortran编译器出现了问题,让我给出一些详细信息,尽管这可能与此无关。

我通过调用brew安装了gfortran

brew install gcc

它造成了一些错误,建议我连接gmp,mpfr,libmpc,isl和cloog。所以我做了

brew link gmp (和mpfr等)

以防万一,which gfortran给出

/usr/local/bin/gfortran

以下是import pymc的回溯

代码语言:javascript
复制
In [1]: import pymc
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-5f262cfcb99b> in <module>()
----> 1 import pymc

//anaconda/lib/python2.7/site-packages/pymc/__init__.pyc in <module>()
     28 from .PyMCObjects import *
     29 from .InstantiationDecorators import *
---> 30 from .CommonDeterministics import *
     31 from .NumpyDeterministics import *
     32 from .distributions import *

//anaconda/lib/python2.7/site-packages/pymc/CommonDeterministics.py in <module>()
     19 import inspect
     20 import types
---> 21 from .utils import safe_len, stukel_logit, stukel_invlogit, logit, invlogit, value, find_element
     22 from copy import copy
     23 import sys

//anaconda/lib/python2.7/site-packages/pymc/utils.py in <module>()
     12 from copy import copy
     13 from .PyMCObjects import Variable
---> 14 from . import flib
     15 import pdb
     16 from numpy.linalg.linalg import LinAlgError

ImportError: dlopen(//anaconda/lib/python2.7/site-packages/pymc/flib.so, 2): Library not loaded: /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libgfortran.3.dylib
  Referenced from: //anaconda/lib/python2.7/site-packages/pymc/flib.so
  Reason: image not found
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-21 15:24:01

这还远远不是一个完整的答案,但下面的工作是有效的,至少对从gfortran安装的brew install gcc编译器是这样的。它可能与不同的编译器一起工作,甚至根本没有编译器,所以尝试以这样的方式安装它:

conda install -c https://conda.binstar.org/tobeplugged pymc

另外,请检查PyMC开发人员Github页面第556期中的更新。

票数 3
EN

Stack Overflow用户

发布于 2015-08-25 18:06:28

在试图安装pymc以处理python的虚拟部署时,我也遇到了类似的问题。我用两个步骤解决了这个问题。首先,我没有正确的gcc图书馆。我用自制软件解决了这个问题:

代码语言:javascript
复制
brew install gfortran

接下来,我之前安装的pymc试图链接到位于这里的fortran版本:

代码语言:javascript
复制
/4.9.1/libgfortran.3.dyli

默认情况下,当自制时将其放置在这里:

代码语言:javascript
复制
/4.9/libgfortran.3.dyli

所以我通过循环pymc部署来解决这个问题:

代码语言:javascript
复制
.../bin/pip uninstall pymc  
.../bin/pip install --upgrade pip
.../bin/pip install pymc

这种情况下,pip和pymc一起工作,以找到您最近安装的fortran库。希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2017-01-04 18:31:53

我在派对上迟到了,但这些步骤对我来说是在OS上作为一个自制用户而起作用的

要点是,对于pymc来说,构建它需要gfortran 4.2,这是由apple-gcc42 42包提供的。它只是构建时的一个依赖项,所以您可以在pip安装完成后撤销这些更改。

代码语言:javascript
复制
brew install python3
brew install apple-gcc42
brew unlink gcc
ln -sf /usr/local/bin/gfortran-4.2 /usr/local/bin/gfortran

#optional: create virtualenv
python3 -mvenv ~/venvs/my_venv
source ~/venvs/my_venv/bin/activate
#end optional

pip3 install numpy
pip3 install pymc

# restore gcc
rm /usr/local/bin/gfortran
brew link gcc
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24853812

复制
相关文章

相似问题

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