1. kenichi-t

    No comment

    kenichi-t
Changes in body
Source | HTML | Preview
@@ -1,200 +1,200 @@
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が起動できることを確認
```shell-session:
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をアップグレード
```shell-session:
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>
```
以降の説明では、
```shell-session:
C:\Users\ktanaka>python -m pip install --upgrade pip
```
の様なコマンドプロンプトからの実行は
```shell-session:
python -m pip install --upgrade pip
```
と表記し、ログも省略します。
python -mで始まる表記があったら、コマンドプロンプトからの実行を意味しています。
# wheelパッケージのインストール
バイナリを含んだ.whlファイルをpipでインストールする為の仕組み・・・とどこかで読んだ気がする
```shell-session:
python -m pip install wheel
```
# numpy, scipyのインストールに関して
numpyやscipyは内部で数値演算ライブラリを呼び出しています。よって数値演算ライブラリのバイナリとnumpy, scipyが関連付けられる必要があります。今回はいろいろと試したのですが、scipyのインストールで苦労しました。scipyがnumpyと関連づいているらしいので、numpyのインストールも含めて自分の環境における失敗事例と共に説明します。
## pipでの通常インストール(失敗)
```shell-session:pipを用いたnumpy,scipyの通常インストール
python -m pip install numpy
python -m pip install scipy
```
ログを見た感じだとnumpy, scipyのインストール処理はそれぞれ以下の様になっているようです。
```text:numpy
環境に数値演算ライブラリがインストールされているかどうかを確認
 インストールされている
  インストールされている数値演算ライブラリと関連付けてnumpyをインストール
 インストールされていない
  Visual Studio等のコンパイラがインストールされているかどうかを確認
   インストールされている
    コンパイラを用いて数値演算ライブラリのバイナリを生成し、生成したバイナリと関連付けてnumpyをインストール
   インストールされていない
    インストール失敗
```
```text:scipy
環境に数値演算ライブラリがインストールされているかどうかを確認
 インストールされている
  インストールされている数値演算ライブラリと関連付けてscipyをインストール
 インストールされていない
  インストール失敗
```
numpyに関しては自分の環境が
 「数値演算ライブラリがインストールされていない」
 「Visual Studio 2015がインストールされている」
となっていたので、Visual Studio 2015によるコンパイルが大量に走った後、インストールに成功しました。
scipyに関しては失敗しました。インストール処理が
「numpyと同様にソースコードが同封されていてVisual Studio 2015でバイナリを生成する等の処理が走る」
もしくは
「numpyで作成したバイナリと関連付ける」
となっていてくれたらうれしかったのですが、そうはならず、エラーで終了しました。
-※numpyインストール時に数値演算ライブラリがインストールされている場合に、Visual studio等のコンパイラが環境にインストールされている必要があるかどうかについては調べていません。
+※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をダウンロード<br>
※Python 3.5.1 なので xxxcp35xxx.whlを選択しています。<br>
※numpyはmkl(Intel Math Kernel Library)が付属した.whlファイルを選択しています。
3. pipを使ってインストール
```shell-session:コンパイル済みバイナリが同封された.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
```
この方法で、インストールおよびサンプルスクリプトの実行に成功しました。
##補足
以下の組み合わせでインストールを行った場合、インストールには成功するのですが、スクリプト実行時にエラーが出ました。
```shell-session:コンパイル済みバイナリが同封された.whlファイルを用いたpipインストール
python -m pip install numpy
python -m pip install C:\Users\ktanaka\Downloads\scipy-0.17.0-cp35-none-win32.whl
```
```py:実行したPythonスクリプト
from scipy import stats
```
```text:エラーの内容
・・・
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を使ってインストールを行う事で成功しました。
```text
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)
```shell-session:
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エディタのパッケージで選択行実行が出来るパッケージ知っている方がいたら教えてもらえると幸いです_(._.)_
#参考にしたサイト
整理中