Help us understand the problem. What is going on with this article?

Windows環境にPython 3.5.1+numpy+scipy+αをインストール

More than 3 years have passed since last update.

Windows環境にPython 3.5.1+numpy+scipy+αをインストールした際のまとめ
(Pythonはじめて1週間程度の人間が書いています)

OS

Windows 10 Pro (64 bit)

インストールしたPythonのバージョン

Python 3.5.1 (32 bit)

pipでインストールしたPythonのライブラリ

wheel (0.29.0)
numpy (1.10.4)
scipy (0.17.0)
pandas (0.17.1)
matplotlib (1.5.1)
scikit-learn (0.17)

Python 3.5.1のインストール

  1. https://www.python.org/ にアクセス
  2. [Downloads/Windows/Python 3.5.1]を選択し[python-3.5.1.exe]をダウンロード
  3. [python-3.5.1.exe]を実行
  4. 最初の画面で[Add Python 3.5 to PATH]にチェックを入れて、[Install Now]をクリック
  5. コマンドプロンプトからpythonが起動できることを確認
C:\Users\ktanaka>python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:38:48) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

C:\Users\ktanaka>

pipのアップグレード

Python 3.4からパッケージ管理ツールpipが標準でインストールされている。
コマンドプロンプトから以下のコマンドを実行しpipをアップグレード

C:\Users\ktanaka>python -m pip install --upgrade pip
Collecting pip
  Downloading pip-8.0.2-py2.py3-none-any.whl (1.2MB)
    100% |################################| 1.2MB 227kB/s
Installing collected packages: pip
  Found existing installation: pip 7.1.2
    Uninstalling pip-7.1.2:
      Successfully uninstalled pip-7.1.2
Successfully installed pip-8.0.2

C:\Users\ktanaka>

以降の説明では、

C:\Users\ktanaka>python -m pip install --upgrade pip

の様なコマンドプロンプトからの実行は

python -m pip install --upgrade pip

と表記し、ログも省略します。
python -mで始まる表記があったら、コマンドプロンプトからの実行を意味しています。

wheelパッケージのインストール

バイナリを含んだ.whlファイルをpipでインストールする為の仕組み・・・とどこかで読んだ気がする

python -m pip install wheel

numpy, scipyのインストールに関して

numpyやscipyは内部で数値演算ライブラリを呼び出しています。よって数値演算ライブラリのバイナリとnumpy, scipyが関連付けられる必要があります。今回はいろいろと試したのですが、scipyのインストールで苦労しました。scipyがnumpyと関連づいているらしいので、numpyのインストールも含めて自分の環境における失敗事例と共に説明します。

pipでの通常インストール(失敗)

pipを用いたnumpy,scipyの通常インストール
python -m pip install numpy
python -m pip install scipy

ログを見た感じだとnumpy, scipyのインストール処理はそれぞれ以下の様になっているようです。

numpy
環境に数値演算ライブラリがインストールされているかどうかを確認
 インストールされている
  インストールされている数値演算ライブラリと関連付けてnumpyをインストール
 インストールされていない
  Visual Studio等のコンパイラがインストールされているかどうかを確認
   インストールされている
    コンパイラを用いて数値演算ライブラリのバイナリを生成し、生成したバイナリと関連付けてnumpyをインストール
   インストールされていない
    インストール失敗
scipy
環境に数値演算ライブラリがインストールされているかどうかを確認
 インストールされている
  インストールされている数値演算ライブラリと関連付けてscipyをインストール
 インストールされていない
  インストール失敗

numpyに関しては自分の環境が
 「数値演算ライブラリがインストールされていない」
 「Visual Studio 2015がインストールされている」
となっていたので、Visual Studio 2015によるコンパイルが大量に走った後、インストールに成功しました。

scipyに関しては失敗しました。インストール処理が
「numpyと同様にソースコードが同封されていてVisual Studio 2015でバイナリを生成する等の処理が走る」
もしくは
「numpyで作成したバイナリと関連付ける」
となっていてくれたらうれしかったのですが、そうはならず、エラーで終了しました。

※numpyインストール時に、数値演算ライブラリがインストールされている場合に、Visual studio等のコンパイラが環境にインストールされている必要があるかどうかについては調べていません。

superpackを利用する方法(断念)

2016/02/17の段階だとPython 3.5.1に対応したものがなかったので断念
https://sourceforge.net/p/numpy/activity/
https://sourceforge.net/p/scipy/activity/

コンパイル済みバイナリが同封された.whlファイルを用いたpipインストール(成功)

最終的にこの方法でインストールしました。

  1. http://www.lfd.uci.edu/~gohlke/pythonlibs/ にアクセス
  2. numpy-1.10.4+mkl-cp35-none-win32.whl および scipy-0.17.0-cp35-none-win32.whlをダウンロード
    ※Python 3.5.1 なので xxxcp35xxx.whlを選択しています。
    ※numpyはmkl(Intel Math Kernel Library)が付属した.whlファイルを選択しています。
  3. pipを使ってインストール
コンパイル済みバイナリが同封された.whlファイルを用いたpipインストール
python -m pip install C:\Users\ktanaka\Downloads\numpy-1.10.4+mkl-cp35-none-win32.whl
python -m pip install C:\Users\ktanaka\Downloads\scipy-0.17.0-cp35-none-win32.whl

この方法で、インストールおよびサンプルスクリプトの実行に成功しました。

補足

以下の組み合わせでインストールを行った場合、インストールには成功するのですが、スクリプト実行時にエラーが出ました。

コンパイル済みバイナリが同封された.whlファイルを用いたpipインストール
python -m pip install numpy
python -m pip install C:\Users\ktanaka\Downloads\scipy-0.17.0-cp35-none-win32.whl
実行したPythonスクリプト
from scipy import stats
エラーの内容
・・・
  from ._ufuncs import *
ImportError: DLL load failed: The specified module could not be found.

numpyとscipyで同じ数値演算ライブラリが参照されるようにインストールする必要があるようで、配布サイトの説明文にも「配布しているバイナリ(.whl)はnumpy+mkl(Intel Math Kernel Library)に依存していているよ」と書いてあるので同サイトで配布されているnumpyの.whlを使ってインストールを行う事で成功しました。

Many binaries depend on NumPy-1.10+MKL and the Microsoft Visual C++ 2008 (x64, x86, and SP1 for CPython 2.6 and 2.7), Visual C++ 2010 (x64, x86, for CPython 3.3 and 3.4), or the Visual C++ 2015 (x64 and x86 for CPython 3.5) redistributable packages.

その他のパッケージのインストール

以下のパッケージのインストールを行いました。
pandas (0.17.1)
matplotlib (1.5.1)
scikit-learn (0.17)

python -m pip install pandas
python -m pip install matplotlib
python -m pip install scikit-learn

pip便利

終わりに

WindowsでのPython開発環境構築において

  • 最初から色々なパッケージがそろっているAnacondaが便利
  • WindowsへのPythonインストールは困難

という事前情報を聞いていたのですが

  • 最小構成でインストールがしたい
  • Pythonのパッケージ管理周りのことを理解しておきたい
  • http://qiita-kobito-team-meetup14.peatix.com/ に参加した際に、Atomエディタがすごいらしいと聞いていたので使いたい:D
  • pip等が標準実装されていてインストール作業が大分楽になっているらしい

といった理由からインストールをしてみました。
numpyやscipyのアップデートも考えると、数値演算ライブラリを別途インストールして、通常のpipでインストールできるようになるとより良いと思います。(その方法でうまくいくかどうかは不明)時間が出来たら試してみます。

今はAtomエディタにscriptパッケージを追加して、Ctrl+Shift+Bで実行してます。
でもAnacondaだと選択した行のみの実行等が出来て便利です。
Atomエディタのパッケージで選択行実行が出来るパッケージ知っている方がいたら教えてもらえると幸いです(..)_

参考にしたサイト

整理中

kenichi-t
情報科学を用いて化学の各種課題解決(材料開発・医薬品開発・化学プラント監視/制御等)に取り組んでいます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away