20

我正在尝试为 python 安装numba,但是在按照主页的说明进行操作后,我收到了无法找到 extension_types 页面的错误。

如果有人知道我做错了什么或者我错过了应该安装的东西,我将不胜感激。

非常感谢您提前。

Python 2.7.2+ (default, Jul 20 2012, 22:15:08) 
Type "copyright", "credits" or "license" for more information.

IPython 0.10.2 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [1]: import numba
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)

/home/mijc/Downloads/numba/<ipython console> in <module>()

/home/mijc/Downloads/numba/numba/__init__.py in <module>()
      2 # type inferer

      3 from numba.special import *
----> 4 from numba import module_type_inference
      5 
      6 import os

/home/mijc/Downloads/numba/numba/module_type_inference.py in <module>()
      6 from numba import *
      7 from numba.minivect import minitypes
----> 8 from numba import typesystem, symtab
      9 
     10 import numpy.random

/home/mijc/Downloads/numba/numba/typesystem/__init__.py in <module>()
      2 from exttypes import *
      3 from closuretypes import *
      4 from ssatypes import *
      5 from templatetypes import *
      6 from typemapper import *

/home/mijc/Downloads/numba/numba/typesystem/basetypes.py in <module>()
      6 
      7 import numba
----> 8 from numba import  extension_types, error
      9 from numba.minivect.minitypes import *
     10 from numba.minivect.minitypes import map_dtype

ImportError: cannot import name extension_types

编辑:我通过以下方式安装了 numba:

git clone https://github.com/numba/numba.git
cd numba
python setup.py install

当我尝试通过 pip 安装它时,出现以下错误:

pip install numba --upgrade
Downloading/unpacking numba
  Downloading numba-0.5.0.tar.gz (333Kb): 333Kb downloaded
  Running setup.py egg_info for package numba
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/mijc/Downloads/numba/build/numba/setup.py", line 90, in <module>
        cython_gdb=True),
      File "/usr/local/lib/python2.7/dist-packages/Cython/Distutils/extension.py", line 108, in __init__
        **kw)
    TypeError: unbound method __init__() must be called with Extension instance as first argument (got Extension instance instead)
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/mijc/Downloads/numba/build/numba/setup.py", line 90, in <module>

    cython_gdb=True),

  File "/usr/local/lib/python2.7/dist-packages/Cython/Distutils/extension.py", line 108, in __init__

    **kw)

TypeError: unbound method __init__() must be called with Extension instance as first argument (got Extension instance instead)

----------------------------------------
Command python setup.py egg_info failed with error code 1
4

8 回答 8

10

我希望你在 Linux 上并且你已经安装了 pip。在我的 Debian Linux 上,我可以通过以下命令轻松安装 numba:

sudo apt-get install build-essential
sudo apt-get install llvm
pip install llvmpy
pip install cython
pip install numba

然后你就完成了!

于 2014-07-04T17:12:51.537 回答
5

在 Windows 上工作我添加了安装Miniconda 执行的相同问题

conda install numba 

这会安装一个带有所有 numba 包的 python 解释器,然后我将此包复制到我的解释器的环境中

你完成了

于 2014-07-29T02:21:04.230 回答
5

我有同样的问题,对我来说,解决方案是将分发升级到 0.6.45。

于 2013-06-09T11:00:33.753 回答
3

我看到这个问题有点老了,但我会把我的经验放在这里,以防它帮助其他人使用谷歌搜索。对我来说最简单的解决方案是安装 Anaconda 发行版: https ://store.continuum.io/ 请注意,有一个“非常免费”的通用版本,还有一个不错的学术版本……嗯,学术用途。:)

Numba 实际上得到了 Continuum 人员的支持,至少根据他们的教程之一。我已经安装了它,现在才开始玩这个东西。到目前为止,我一直很喜欢它(尽管在让它与我之前创建的一些 Cython 模块配合使用时遇到了一些小麻烦)。如果你走 Continuum 路线,他们有一个有点隐藏的博客,我发现它很有用(主页上的链接在“公司”下,这不是我第一个看的地方)。查看他们标记为“Numba”的东西;那里有例子。

我通过 Anaconda 使用 Numba 的另一个秘密原因:由于它们似乎相对较新,我推测它们可能非常“超越”解决 Qs 或让 Numba 在他们的发行版中为您工作的问题——想要建立一个好名声和产品等等。当然,这只是我个人的纯粹猜测。

唯一的缺点:Anaconda 中没有包含 Picloud。我过去用过很多次,所以这令人失望。这对我自己来说意味着更多的工作,但零工作很好:)

注意:我根本不隶属于 Continuum。到目前为止,我对他们的产品感到惊喜。

于 2013-06-20T15:35:30.073 回答
2

以下代码行解决了我的问题。

python -m pip install --user numba

这是针对 ubuntu 的。

于 2018-05-19T05:39:53.787 回答
1

尝试:

pip install numba==0.48

看起来装饰器模块在以后的 numba 版本中被删除了。

于 2020-07-01T14:14:53.977 回答
0

使用virtualenv创建一个新的虚拟环境,并按照安装说明中给出的顺序在此环境中安装所有需要的组件。

于 2013-05-27T08:56:10.740 回答
-1

我有同样的问题,我只是通过在我的代码中导入 quantecon 之前导入 pandas 来修复它:

import pandas as pd
import quantecon as qe

这个对我有用。

于 2019-12-19T15:11:03.377 回答