Numba模块在anaconda中是空的

问题描述 投票:1回答:1

我想用Numba在GPU上运行我的python代码,所以我安装了Anaconda,最新版本(4.6.12 with 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重新安装模块,但我仍然收到错误。

python anaconda python-import numba
1个回答
1
投票

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

在你的情况下相关的是Python在当前目录中找到了numba模块(你的numba.py 2),它没有找到已安装的numba模块。因此,将numba.py文件重命名为其他内容就足够了,例如my_numba.py(并从__pycache__目录中删除相应的文件)。

一般情况下,如果您怀疑导入了错误的模块,可以随时检查__file__属性(大多数模块都有),并检查它是否是预期的路径:

import numba
print(numba.__file__)

1它实际上要复杂得多,也可以自定义很多,但这实际上并不重要。

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

© www.soinside.com 2019 - 2024. All rights reserved.