gpt4 book ai didi

python - "rpy2"在 Enthought Canopy 中失败(与内部 GFORTRAN 库冲突)

转载 作者:行者123 更新时间:2023-11-28 22:51:58 24 4
gpt4 key购买 nike

我尝试使用 pip(在 Ubuntu 12.04 上)在 Enthought Canopy 上安装 rpy2。该软件包似乎安装成功,但是当我尝试导入它时:

In [1]: from rpy2.rinterface._rinterface import *
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-e2e1fe174266> in <module>()
----> 1 from rpy2.rinterface._rinterface import *

/home/kayhan/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/rpy2-2.3.8-py2.7-linux-x86_64.egg/rpy2/rinterface/__init__.py in <module>()
99
100
--> 101 from rpy2.rinterface._rinterface import *
102
103

ImportError: /home/kayhan/Enthought/Canopy_64bit/User/bin/../lib/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by /usr/lib/libblas.so.3gf)

如果没有这个包 (rpy2),ipython-note 书中的 R_magic 将无法工作!

似乎 rpy2 链接到系统的 gfortran 库,而 Enthought 试图加载它自己的 FORTRAN 库!报告了类似问题 here . LD_PRELOAD 是一个不错的解决方案,因为运送 Enthought FORTRAN 库的意义何在!?

这似乎是另一个 Enthought FORTRAN 库与 Linux (Ubuntu) 中的 GFORTRAN 库冲突! Enthough 附带的库有问题,或者没有合适的方法来解决此冲突。无论哪种方式,对于一个主要关注科学计算的发行版(Enthought)来说,一次又一次地发生这样的冲突是不好的!

最佳答案

对于自定义包,我在使用 libgfortranlibblas 时遇到了同样的错误。正如您提到的,Canopy 使用自己的 libgfortran.so.3,隐藏系统或库路径中的那个(blas 似乎需要)。这是针对此问题和类似问题的解决方法,基于更改 Canopy 中的 libgfortran 符号链接(symbolic link):

导航到 Canopy 的 lib 目录:

cd ~/Enthought/Canopy_64bit/User/lib/

一个 ls -l *gfortran.so.3* 应该给你这样的东西:

 libgfortran.so.3 -> libgfortran.so.3.0.0 
libgfortran.so.3.0.0

(可选)备份 libgfortran.so.3(如果它不是像这里这样的符号链接(symbolic link)):

mv libgfortran.so.3 libgfortran.so.3.bkp

找到系统库,例如:

locate *gfortran.so.3* | grep /usr/lib

/usr/lib/x86_64-linux-gnu/libgfortran.so.3
/usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0

建立一个从系统到库的符号链接(symbolic link)

ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 .

现在 ls -l *gfortran.so.3* 应该给你:

  libgfortran.so.3 -> /usr/lib/x86_64-linux-gnu/libgfortran.so.3

相关 SO 帖子:libgfortran: version `GFORTRAN_1.4' not found

关于python - "rpy2"在 Enthought Canopy 中失败(与内部 GFORTRAN 库冲突),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21011235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com