蟒蛇中的Numba模块为空

时间:2019-04-13 18:33:43

标签: python anaconda python-import numba

我想使用Numba在GPU上运行python代码,因此我安装了最新版本的Anaconda(4.6.12和python 3.7)。我试图从numba加载功能vectorize:

from numba import vectorize

但是我得到了错误代码:

ImportError: cannot import name 'vectorize' from 'numba' 

该模块已安装,导入时没有出现错误,但是当我像这样使用dir(numba)命令时:

import numba

print(dir(numba))

我明白了:

['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'numba']

我尝试使用命令conda install numba --force-reinstall重新安装模块,但是仍然出现错误。

1 个答案:

答案 0 :(得分:1)

Python import在不同的位置查找匹配的模块。 (非常简化的)顺序是(1)内置C模块(例如sys)(2)当前目录(3)内置模块和已安装软件包 1

与您的情况相关的是,Python在当前目录中找到了一个numba模块(您的numba.py 2 ),它没有寻找已安装的{{ 1}}模块。因此,将numba文件重命名为其他名称就足够了,例如numba.py(并从my_numba.py目录中删除相应的文件)。

通常,如果您怀疑导入了错误的模块,则可以始终检查__pycache__属性(大多数模块都具有该属性)并检查其是否为预期的路径:

__file__

1 实际上,它要复杂得多,而且还可以自定义很多,但这在这里实际上并不重要。

2 是的,您可以自己导入当前模块-但通常不建议这样做...