2016-10-16 11 views
2

Я пытаюсь запустить следующий код с Numba, но получаю сообщение об ошибке:Numba JIT: объект «DataFlowAnalysis» не имеет атрибута «op_STORE_DEREF»

from numba import jit 

@jit(nopython=True) 
def create_card_deck(): 
    values = "23456789TJQKA" 
    suites = "CDHS" 
    Deck = [] 
    [Deck.append(x + y) for x in values for y in suites] 
    return Deck 

create_card_deck() 

Любые предложения, что является причиной этой ошибки являются оценены:

'DataFlowAnalysis' object has no attribute 'op_STORE_DEREF' 

ответ

4

есть две проблемы здесь - более фундаментальным является то, что numba не поддерживает строки в режиме nopython

@jit(nopython=True) 
def create_card_deck(): 
    values = "23456789TJQKA" 
    suites = "CDHS" 
    return values 

In [4]: create_card_deck() 
--------------------------------------------------------------------------- 
NotImplementedError : Failed at nopython (nopython mode backend) 
cannot convert native str to Python object 

Эта конкретная ошибка связана с тем, что в режиме nopython в настоящее время не поддерживаются списки.

https://github.com/numba/numba/issues/504

+0

Похоже, списки на самом деле не поддерживаются либо: 'Deck = []' вызывает 'не может вычислить отпечаток пустого list' – Nickpick

+0

Многие операции список фактически поддерживается, но при условии, что все значения имеют такой же тип. – chrisb

+0

Но похоже, что списки не инициализируются – Nickpick