Numba 模块在 anaconda 中是空的
Numba module is empty in anaconda
我想使用 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
重新安装模块,但仍然出现错误。
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 是的,您可以自己导入当前模块 - 但通常不建议这样做...
我想使用 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
重新安装模块,但仍然出现错误。
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 是的,您可以自己导入当前模块 - 但通常不建议这样做...