以元组为键的 Pythran 导出字典

Pythran export dict with tuples as key

我尝试在需要 int 数组的函数中使用 Pythran,对于第二个参数 dictints 的元组作为键和 int 作为值:

myarray = np.array([[0, 0], [0, 1], [1, 1],
                    [1, 2], [2, 2], [1, 3]])

dict_with_tuples_key = {(0, 1): 1, (3, 7): 1}

通知 Pythran 关于 dict 的正确方法是什么?:

#pythran export update_dict((int, int):int dict, int[][])
def update_dict(dict_with_tuples_key, myarray):
    # do something with dict_with_tuples_key and myarray
    # return and updated dict_with_tuples_key
    return dict_with_tuples_key

使用 (int, int):int dict 我得到这个错误:

File "/usr/lib/python2.7/inspect.py", line 526, in findsource
  file = getfile(object)
File "/usr/lib/python2.7/inspect.py", line 403, in getfile
  raise TypeError('{!r} is a built-in module'.format(object))
TypeError: <module 'sys' (built-in)> is a built-in module

从你的回溯来看,你似乎正在导入 sys。在那种情况下,pythran 会尝试获取导入模块的源代码来编译它。由于 sys 是内置模块,因此失败。