Shortcuts

NumPyのインストール

NumPy をインストールするために必ず必要なものはPython本体です。もしまだPythonをインストールしていないのであれば、最もシルプルな始め方として、Anaconda Distributionを推奨します。AnacondaはPython・NumPyの他に、科学技術計算やデータサイエンスのために一般的に使用される沢山のパッケージが含まれています。

NumPyはcondapip 、macOSやLinuxのパッケージマネージャー、または ソースコードからインストールすることが出来ます。 詳細な手順について、以下の Python と NumPyの インストールガイド を参照してください。

CONDA

condaを使用する場合、 defaults または conda-forge のチャンネルから NumPy をインストールできます。

# base envにインストールするのでなく、environmentを作成するのがベストプラクティスです
conda create -n my-env
conda activate my-env
# conda-forgeからインストールする場合
conda config --env --add channels conda-forge
# インストールコマンド
conda install numpy

PIP

pipを使用する場合、以下のようにNumPyをインストールできます:

pip install numpy

またpipを使う場合、仮想環境を使うことをおすすめします。再現可能なインストールを参照ください。こちらの記事では仮想環境を使う詳細について説明されています。

PythonとNumPyの インストールガイド

Pythonパッケージのインストールと管理は複雑なので、ほとんどのタスクには数多くの代替ツールがあります。 このガイドでは、読者に最適な(または最も人気のある) 方法と明確な指針を提供したいと思います。 このガイドでは、一般的なオペレーティングシステムとハードウェア上での、 Python、NumPy、PyData (または数値計算) スタックのユーザに焦点を当てています。

推奨方法

まずはユーザの経験レベルと、関心のあるOSに基づいた推奨方法から説明していきたいと思います。 PythonやNumPyの経験が「初級」と「上級」の間の方は、シンプルにインストールしたい場合は「初級」を、より長い視点にたったベストプラクティスに沿ってインストールしたい方は「上級」を参照ください。

初級ユーザ

Windows、macOS、Linuxのすべてのユーザー向けには:

上級ユーザー

WindowsまたはmacOS

Linux

もしあなたが最新バージョンのライブラリを使用するよりも、少し古いパッケージで安定性を求める場合は:

GPUを使用する場合:

上記以外の場合

pip/PyPI を利用したい場合

個人的な好みや、下記のcondaとpipの違いを理解した上で、pip/PyPIベースの方法を使いたいユーザーには、下記をお勧めします:

Pythonにおけるパッケージ管理

パッケージの管理は難しいため、たくさんのツールが存在しています。 ウェブ開発と汎用的なPython開発には、こちらのようなpipを補完する ツール があります。 ハイパフォーマンスコンピューティング(HPC)では、 Spack を使うことを検討して下さい。 NumPyのほとんどのユーザーにとっては、 condapip が最も広く利用されているツールです。

Pipとconda

pipconda がPythonパッケージをインストールするための2つの主要なツールです。 これら二つのツールの機能は部分的に重複しますが(例えば、両方とも numpyをインストールできます)、一緒に動作することもできます。ここでは、pip とcond の主要な違いについて説明します。これは、パッケージをどのように効果的に管理するかを理解したい場合、重要な知識です。

最初の違いは、condaは複数言語に対応可能で、Python自体をインストールできることです。pip はシステム上の特定の Python にインストールされ、パッケージはそのPython用にのみインストールします。そのため、condaはPython 以外のライブラリや必要なツール (コンパイラ、CUDA、HDF5など) をインストールできますが、pip はできません。

2つ目の違いは、pipはPython Packaging Index(PyPI) からパッケージをインストールするのに対し、condaは独自のチャンネル(一般的には “defaults “や “conda-forge “など) からインストールすることです。 PyPIは最大のパッケージ管理システムですが、人気のある全てのパッケージがcondaでも利用可能です。

3つ目の違いは、condaはパッケージ、依存関係、環境を管理するための統合されたソリューションであるのに対し、pipでは環境や複雑な依存関係を扱うために別のツール(たくさん存在しています!) が必要になるかもしれないということです。

再現可能なインストール

ライブラリが更新されると、コードの実行結果が変わったり、コードが完全に 壊れたりする可能性があります。なので重要なことは、使用しているパッケージの組み合わせと各バージョンのセットを再構築できるようにしておくことです。 ベストプラクティスは次の通りです:

  1. プロジェクトごとに異なる仮想環境を使用して下さい。
  2. パッケージインストーラを使用してパッケージ名とバージョンを記録するようにして下さい。それぞれ、独自のメタデータフォーマットがあります:

NumPyパッケージと高速線形代数ライブラリ

NumPy は他の Python パッケージに依存していませんが、高速な線形代数ライブラリに依存しています。典型的には、インテル® MKLOpenBLASがこれにあたります。ユーザーは、これらの線形代数ライブラリのインストールを心配する必要はありません (NumPyのインストール方法に、あらかじめ含まれているためです)。 高度なユーザーは、使用されているBLASがパフォーマンスや、動作、ディスク上のサイズに影響を与えるため、より詳細を知りたがるかもしれません。

インストールサイズ、パフォーマンスとロバスト性に加えて、考慮すべき2つの点があります:

トラブルシューティング

インストールに失敗した場合に、下記のエラーメッセージが表示される場合は、 トラブルシューティング ImportError を参照してください。

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy c-extensions failed. This error can happen for different reasons, often due to issues with your setup.