# 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. 術語表