2015-06-02 92 views
0

这是numbaNumba: '模块' 对象没有属性 'global_variables'

import numpy as np 
from numba import double 
from numba.decorators import jit, autojit 

X = np.random.random((1000, 3)) 

def pairwise_python(X): 
    M = X.shape[0] 
    N = X.shape[1] 
    D = np.empty((M, M), dtype=np.float) 
    for i in range(M): 
     for j in range(M): 
      d = 0.0 
      for k in range(N): 
       tmp = X[i, k] - X[j, k] 
       d += tmp*tmp 
      D[i, j] = np.sqrt(d) 
    return D 

pairwise_numba = autojit(pairwise_python) 

pairwise_numba(X) 

的一个基本的例子,但它产生的错误消息

AttributeError: Failed at object (object mode frontend) 
Failed at object (object mode backend) 
'Module' object has no attribute 'global_variables' 

我的康达版本是

numba      0.18.2    np19py27_1 
numbapro     0.18.0    np19py27_p2 
llvmlite     0.4.0     py27_0 

你有同样的问题吗?帮帮我..

+0

这可能是一个兼容性问题 - 请参阅这个线程:https://github.com/numba/numba/issues/992 –

回答

0

这很复杂。这是我的解决方案。

$ sudo apt-get install llvm-3.5-dev 
$ sudo apt-get install libedit-dev 
$ pip install enum34 

$ git clone https://github.com/numba/llvmlite 
$ cd llvmlite 
$ LLVM_CONFIG=/usr/bin/llvm-config-3.5 python setup.py install 


$ conda install numba 
Fetching package metadata: .... 
Solving package specifications: . 
Package plan for installation in environment /home/khkim/anaconda/envs/test: 

The following packages will be UPDATED: 

    numba: 0.17.0-np19py27_0 --> 0.18.2-np19py27_1 

The following packages will be DOWNGRADED: 

    llvmlite: 0.5.0-py27_0  --> 0.4.0-py27_0 

而且代码运行良好。

相关问题