numba 缓存问题:无法缓存功能/没有可用于文件的定位器

Gre*_*ngs 6 numba

我正在尝试部署一个具有多个numba.njit函数的代码库cache=True

它在本地运行良好(Mac OS X 10.12.3),但在远程机器(AWS 上的 Ubuntu 14.04)上我收到以下错误:

RuntimeError at /portal/

cannot cache function 'filter_selection': 

no locator available for file:
'/srv/run/miniconda/envs/mbenv/lib/python2.7/site-packages/mproj/core_calcs/filter.py'
Run Code Online (Sandbox Code Playgroud)

我查看了 numba 代码库,看到了这个文件:https : //github.com/numba/numba/blob/master/numba/caching.py

似乎以下函数返回 None 而不是定位器,以引发此异常

cls.from_function(py_func, source_path)

猜测这是写入pycache文件夹的权限,但我在 numba 文档中没有看到指定缓存文件夹位置(CACHE_DIR)的方法。

以前有没有人遇到过这个问题,如果有,建议的解决方法是什么?

小智 2

sys.frozen = True之前设置可以for cls in self._locator_classes:消除caching.py该问题。

我不知道这样的设置是否会影响性能。