导入python包时找不到Armadillo库(OS X,Python 2.7)

时间:2015-10-13 07:08:04

标签: python c++ python-2.7 boost

我正在使用一个依赖于Boost,Armadillo的python包(carmcmc)。我收到以下错误:

import carmcmc

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/admin/anaconda/lib/python2.7/site-packages/carmcmc/__init__.py", line 1, in <module>
    from _carmcmc import *

ImportError: 
dlopen(/Users/admin/anaconda/lib/python2.7/site-packages/carmcmc/_carmcmc.so, 2): 
Library not loaded: /usr/local/lib/libarmadillo.5.dylib

Referenced from: /Users/admin/anaconda/lib/python2.7/site-packages/carmcmc/_carmcmc.so

似乎lib armadillo.5.dylib丢失了,但我不知道它做了什么或如何修改它的缺席。

我这样安装:

  1. 使用自制程序
  2. 安装了Armadillo依赖项
  3. 使用自制软件安装Armadillo
  4. 已安装Boost
  5. 已安装Boost-python
  6. 为软件包
  7. 启用setup.py安装 除了少数例外情况外,

    setup.py运行了,但我没有抓到任何致命的东西。

    这是版本问题吗?我还缺少依赖吗?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

我在这做了什么:

  1. 从brew - brew install homebrew / science / armadillo
  2. 安装犰狳
  3. 来自brew - brew install boost boost-python
  4. git clone git@github.com:brandonckelly / carma_pack.git
  5. mkvirtual env
  6. 从pip安装numpy - pip install numpy
  7. 导出的变量
    • export BOOST_DIR = / usr / local / Cellar / boost / 1.58.0
    • 导出ARMADILLO_DIR = / usr / local / Cellar / armadillo / 6.100.0
    • export NUMPY_DIR = / usr / local / Cellar / boost-python / 1.58.0 /#becouse它比实际传递正确位置更容易
  8. 在carma_pack
  9. 的src文件夹中运行python setup.py install

    它现在已经安装(但是我必须安装matplotlib才能使它工作)

    carmac的代码也有osx的安装说明