# 1.3。安装
> 原文: [http://numba.pydata.org/numba-doc/latest/user/installing.html](http://numba.pydata.org/numba-doc/latest/user/installing.html)
## 1.3.1。兼容性
Numba 与 Python 2.7 和 3.5 或更高版本以及 Numpy 版本 1.7 到 1.16 兼容(参见[本说明](../reference/numpysupported.html#numpy-support)的 1.16 支持限制)。
我们支持的平台是:
* Linux x86(32 位和 64 位)
* Linux ppcle64(POWER8)
* Windows 7 及更高版本(32 位和 64 位)
* OS X 10.9 及更高版本(64 位)
* 计算能力为 2.0 及更高版本的 NVIDIA GPU
* AMD ROC dGPU(仅限 Linux,不适用于 AMD Carrizo 或 Kaveri APU)
* ARMv7(32 位小端,如 Raspberry Pi 2 和 3)
[使用@jit](parallel.html#numba-parallel) 的自动并行化仅在 64 位平台上可用,并且在 Windows 上的 Python 2.7 中不受支持。
## 1.3.2。在 x86 / x86_64 / POWER 平台上使用 conda 进行安装
安装 Numba 并获得更新的最简单方法是使用`conda`,一个由 Anaconda,Inc。维护的跨平台软件包管理器和软件分发。您可以使用 [Anaconda](https://www.anaconda.com/download) 在一次下载中获得完整的堆栈,或 [Miniconda](https://conda.io/miniconda.html) ,它将安装 conda 环境所需的最小包。
安装 conda 后,只需输入:
```py
$ conda install numba
```
要么:
```py
$ conda update numba
```
请注意,与 Anaconda 一样,Numba 仅支持 64 位小端模式下的 PPC。
要为 Numba 启用 CUDA GPU 支持,请为您的平台安装 NVIDIA 的最新[图形驱动程序。 (请注意,默认情况下随许多 Linux 发行版提供的开源 Nouveau 驱动程序不支持 CUDA。)然后安装`cudatoolkit`包:](https://www.nvidia.com/Download/index.aspx)
```py
$ conda install cudatoolkit
```
您无需从 NVIDIA 安装 CUDA SDK。
## 1.3.3。在 x86 / x86_64 平台上使用 pip 进行安装
适用于 Windows,Mac 和 Linux 的二进制轮也可从 [PyPI](https://pypi.org/project/numba/) 获得。您可以使用`pip`安装 Numba:
```py
$ pip install numba
```
这将下载所有必需的依赖项。您不需要安装 LLVM 来使用 Numba(事实上,Numba 将忽略系统上安装的所有 LLVM 版本),因为所需的组件捆绑在 llvmlite 轮中。
要通过 <cite>pip</cite> 安装 Numba 使用 CUDA,您需要从 NVIDIA 安装 [CUDA SDK](https://developer.nvidia.com/cuda-downloads) 。然后,您可能需要设置以下环境变量,以便 Numba 可以找到所需的库:
* `NUMBAPRO_CUDA_DRIVER` - CUDA 驱动程序共享库文件的路径
* `NUMBAPRO_NVVM` - CUDA libNVVM 共享库文件的路径
* `NUMBAPRO_LIBDEVICE` - 包含.bc 文件的 CUDA libNVVM libdevice _ 目录 _ 的路径
## 1.3.4。启用 AMD ROCm GPU 支持
[ROCm 平台](https://rocm.github.io/)允许在 Linux 上使用 AMD GPU 进行 GPU 计算。要在 Numba 中启用 ROCm 支持,需要 conda,因此请先安装 Numba 0.40 或更高版本的 Anaconda 或 Miniconda 安装。然后:
1. 按照 [ROCm 安装说明](https://rocm.github.io/install.html)进行操作。
2. 从`numba`频道安装`roctools` conda 包:
```py
$ conda install -c numba roctools
```
有关示例笔记本,请参阅 [roc-examples](https://github.com/numba/roc-examples) 存储库。
## 1.3.5。在 Linux ARMv7 平台上安装
[Berryconda](https://github.com/jjhelmus/berryconda) 是 Raspberry Pi 的基于 conda 的 Python 发行版。我们现在将软件包上传到 Anaconda Cloud 上的`numba`频道,用于 32 位小端,基于 ARMv7 的电路板,目前包括 Raspberry Pi 2 和 3,但不包括 Pi 1 或 Zero。这些可以使用来自`numba`频道的 conda 进行安装:
```py
$ conda install -c numba numba
```
Berryconda 和 Numba 可能会在其他基于 Linux 的 ARMv7 系统上运行,但尚未经过测试。
## 1.3.6。从源 安装
从源代码安装 Numba 非常简单(类似于其他 Python 软件包),但由于需要特殊的 LLVM 构建,安装 [llvmlite](https://github.com/numba/llvmlite) 可能非常具有挑战性。如果您是为了 Numba 开发而从源代码构建的,请参阅[构建环境](../developer/contributing.html#buildenv),了解有关如何使用 conda 创建 Numba 开发环境的详细信息。
如果由于其他原因从源代码构建 Numba,请首先按照 [llvmlite 安装指南](https://llvmlite.readthedocs.io/en/latest/admin-guide/install.html)进行操作。完成后,您可以从 [Github](https://github.com/numba/numba) 下载最新的 Numba 源代码:
```py
$ git clone git://github.com/numba/numba.git
```
最新版本的源档案也可以在 [PyPI](https://pypi.org/project/numba/) 上找到。除`llvmlite`外,您还需要:
* 与 Python 安装兼容的 C 编译器。如果您使用的是 Anaconda,则可以安装 Linux 编译器 conda 软件包`gcc_linux-64`和`gxx_linux-64`,或 macOS 软件包`clang_osx-64`和`clangxx_osx-64`。
* [NumPy](http://www.numpy.org/)
然后,您可以从源代码树的顶层构建和安装 Numba:
```py
$ python setup.py install
```
## 1.3.7。检查安装
您应该能够从 Python 提示符导入 Numba:
```py
$ python
Python 2.7.15 |Anaconda custom (x86_64)| (default, May 1 2018, 18:37:05)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numba
>>> numba.__version__
'0.39.0+0.g4e49566.dirty'
```
您还可以尝试执行 <cite>numba -s</cite> 命令来报告有关系统功能的信息:
```py
$ numba -s
System info:
--------------------------------------------------------------------------------
__Time Stamp__
2018-08-28 15:46:24.631054
__Hardware Information__
Machine : x86_64
CPU Name : haswell
CPU Features :
aes avx avx2 bmi bmi2 cmov cx16 f16c fma fsgsbase lzcnt mmx movbe pclmul popcnt
rdrnd sse sse2 sse3 sse4.1 sse4.2 ssse3 xsave xsaveopt
__OS Information__
Platform : Darwin-17.6.0-x86_64-i386-64bit
Release : 17.6.0
System Name : Darwin
Version : Darwin Kernel Version 17.6.0: Tue May 8 15:22:16 PDT 2018; root:xnu-4570.61.1~1/RELEASE_X86_64
OS specific info : 10.13.5 x86_64
__Python Information__
Python Compiler : GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)
Python Implementation : CPython
Python Version : 2.7.15
Python Locale : en_US UTF-8
__LLVM information__
LLVM version : 6.0.0
__CUDA Information__
Found 1 CUDA devices
id 0 GeForce GT 750M [SUPPORTED]
compute capability: 3.0
pci device id: 0
pci bus id: 1
```
(输出由于长度而截断)
- 1. 用户手册
- 1.1。 Numba 的约 5 分钟指南
- 1.2。概述
- 1.3。安装
- 1.4。使用@jit 编译 Python 代码
- 1.5。使用@generated_jit 进行灵活的专业化
- 1.6。创建 Numpy 通用函数
- 1.7。用@jitclass 编译 python 类
- 1.8。使用@cfunc 创建 C 回调
- 1.9。提前编译代码
- 1.10。使用@jit 自动并行化
- 1.11。使用@stencil装饰器
- 1.12。从 JIT 代码 中回调到 Python 解释器
- 1.13。性能提示
- 1.14。线程层
- 1.15。故障排除和提示
- 1.16。常见问题
- 1.17。示例
- 1.18。会谈和教程
- 2. 参考手册
- 2.1。类型和签名
- 2.2。即时编译
- 2.3。提前编译
- 2.4。公用事业
- 2.5。环境变量
- 2.6。支持的 Python 功能
- 2.7。支持的 NumPy 功能
- 2.8。与 Python 语义的偏差
- 2.9。浮点陷阱
- 2.10。 Python 2.7 寿命终止计划
- 3. 用于 CUDA GPU 的 Numba
- 3.1。概述
- 3.2。编写 CUDA 内核
- 3.3。内存管理
- 3.4。编写设备功能
- 3.5。 CUDA Python 中支持的 Python 功能
- 3.6。支持的原子操作
- 3.7。随机数生成
- 3.8。设备管理
- 3.10。示例
- 3.11。使用 CUDA 模拟器 调试 CUDA Python
- 3.12。 GPU 减少
- 3.13。 CUDA Ufuncs 和广义 Ufuncs
- 3.14。共享 CUDA 内存
- 3.15。 CUDA 阵列接口
- 3.16。 CUDA 常见问题
- 4. CUDA Python 参考
- 4.1。 CUDA 主机 API
- 4.2。 CUDA 内核 API
- 4.3。内存管理
- 5. 用于 AMD ROC GPU 的 Numba
- 5.1。概述
- 5.2。编写 HSA 内核
- 5.3。内存管理
- 5.4。编写设备功能
- 5.5。支持的原子操作
- 5.6。代理商
- 5.7。 ROC Ufuncs 和广义 Ufuncs
- 5.8。示例
- 6. 扩展 Numba
- 6.1。高级扩展 API
- 6.2。低级扩展 API
- 6.3。示例:间隔类型
- 7. 开发者手册
- 7.1。贡献给 Numba
- 7.2。 Numba 建筑
- 7.3。多态调度
- 7.4。关于发电机的注意事项
- 7.5。关于 Numba Runtime 的注意事项
- 7.6。使用 Numba Rewrite Pass 获得乐趣和优化
- 7.7。实时变量分析
- 7.8。上市
- 7.9。模板注释
- 7.10。关于自定义管道的注意事项
- 7.11。环境对象
- 7.12。哈希 的注意事项
- 7.13。 Numba 项目路线图
- 8. Numba 增强建议
- 9. 术语表