Python3.6 & 3.7の比較環境をつくる(Windows10)機械学習&ファイナンス

この投稿は PyLadies Advent Calendar 2018 の10日目の記事です。

adventar.org

Python3.7になって、ずいぶんと速度が高速化されたらしい!

そう聞いて、勉強がてら比較をしてみようと取り組みました。

 

最終的には、高速化の対象を調べて、実際に計って比較

、、、と思いましたが、そちらは時間切れで。

まずは比較用の環境準備について、メモを記録します。

 

◆Python3.7の新機能(特に高速化):

 

▼参照したサイト

本家  Python3.7リリースに関するサイト

www.python.org


日本語の公式サイト Python3.7の新機能

https://docs.python.org/ja/3/whatsnew/3.7.html

 

なお、高速化については、「最適化(Optimizations)」の項にまとめられているようです。上記の中の「最適化」の項 (日本語サイトだがほぼ英語)

https://docs.python.org/ja/3/whatsnew/3.7.html#optimizations


以下のエントリで、上のリンク先のほぼ英文の内容を、理解のために、日本語短文の自分用メモにしました。

fuku-mame.hatenablog.com

 

◆環境:

 OS: Windows10(64bit環境)

 

 VirtualBoxを入れて、Linux環境もつくったので

 そちらの手順はここに書いています。 

fuku-mame.hatenablog.com

 

 

Pythonの環境構築(Anacondaの場合):

 

▼1.anaconda (python3.7対応) をインストール

 

ダウンロードサイト 

www.anaconda.com

 

画面上部で download for の右のアイコンでWindowsのアイコンをクリック
画面下部で Pytrhon 3.7 version と記載のある左下の download ボタンをクリック

 

ダウンロードフォルダにファイル(Anaconda3-5.3.1-Windows-x86_64.exe)がダウンロードされるので、ダブルクリックしてインストール

 

  

▼2.Python3.6環境&3.7環境を作る

 

1.Anaconda Promptを起動

プロンプトは以下の共通が表示されている
(base) C:\Users\[ユーザー名]>

 
2.環境の作成 & 基本パッケージのインストール

ー Python3.6環境 (環境名:Pytyon36)

> conda create -n python36 python=3.6 spyder pandas jupyter matplotlib numpy

ー Python3.7環境 (環境名:Pytyon37)

> conda create -n python37 python=3.7 spyder pandas jupyter matplotlib numpy

 

3.環境のアクティベート(  それぞれ切り替えて使う時に実行 )

ー Python3.6環境 (環境名:Pytyon36)

> conda activate python36

もしくは単に

> activate python36

ー Python3.7環境 (環境名:Pytyon37)

> conda activate python37

もしくは単に

> activate python37

 

→ プロンプトが以下のように変わります!

([環境名]) C:\Users\[ユーザー名]>

 

 

▼3.Ta-Libのインストール

================================================

※ 結構はまりました。

最初 anaconda のサイトを検索してやってみたのですが

以下のインストールコマンドでは失敗してしまいました。
(python2.7ベースの環境に上書きされてしまった。。。)

conda install -c quantopian ta-lib

================================================

 

そこで以下のサイトを参考にしてインストールしました。

qiita.com


それ以外に参考になったサイトや本家サイトは以下です。

 

本家サイト

mrjbq7.github.io

本家サイトのGitHub

github.com

参考になった日本語サイト。

GitHubじゃ!Pythonじゃ! ~ ta-lib – TA-Lib用のPythonラッパー( )

上のサイトをわかりやすく解説 してくださっていました。 

 

 


1)下記サイトからダウンロード

Python Extension Packages for Windows - Christoph Gohlke

ー Python3.6   Windows  64bitOS用

TA_Lib-0.4.17-cp36-cp36m-win_amd64.whl

ー Python3.7   Windows  64bitOS用

TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl

 

 

2)ダウンロードフォルダからAnaconda Promptの
 カレントフォルダに移動(エクスプローラーで操作)

C:\Users\[ユーザー名] の下に、それぞれ以下を移動

ー Python3.6   Windows  64bitOS用 

TA_Lib-0.4.17-cp36-cp36m-win_amd64.whl

ー Python3.7   Windows  64bitOS用 

TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl

 

 

3)ダウンロードしたモジュールをインストール

ー Python3.6   Windows  64bitOS用 

> pip install TA_Lib-0.4.17-cp36-cp36m-win_amd64.whl

ー Python3.7   Windows  64bitOS用 

> pip install TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl

 

 

4)Ta-Libの動作確認

 

(1)環境の確認

 → python3.6環境のアクティベート(python3.6の動作確認の場合)

 

> conda info -e

> activate python36

 

実際のコンソール(Anaconda Prompt)はこんな感じです。

 

base) C:\Users\[ユーザー名]>conda info -e

# conda environments:
#
base * C:\Users\[ユーザー名]\Anaconda3
python36 C:\Users\[ユーザー名]\Anaconda3\envs\python36
python37 C:\Users\[ユーザー名]\Anaconda3\envs\python37

 

(base) C:\Users\[ユーザー名]>activate python36
(python36) C:\Users\[ユーザー名]>

 

(2)近い価格の単純な移動平均を計算する

 

参考サイト

GitHubじゃ!Pythonじゃ! ~ ta-lib – TA-Lib用のPythonラッパー( )

本家サイトのGitHub

実際に動作確認した時のコンソール(Anaconda Prompt)は

こんな感じです。


(python36) C:\Users\[ユーザー名]>python
Python 3.6.7 |Anaconda, Inc.| (default, Oct 28 2018, 19:44:12) [MSC v.1915 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import talib
>>> close = numpy.random.random(100)
>>> output = talib.SMA(close)
>>> print(output)
[ nan nan nan nan nan nan
nan nan nan nan nan nan
nan nan nan nan nan nan
nan nan nan nan nan nan
nan nan nan nan nan 0.42058578
0.43538653 0.42973615 0.42508598 0.4215827 0.42356416 0.42471856
0.43832043 0.44084937 0.4415762 0.44457021 0.44658056 0.44122067
0.45208208 0.47320482 0.46119184 0.45207382 0.46179371 0.46316077
0.45467707 0.46386639 0.47922845 0.46816254 0.47533541 0.49443223
0.49067489 0.50372368 0.50325981 0.50256258 0.52438143 0.54619321
0.54916505 0.56229398 0.56174102 0.56850604 0.591752 0.57385095
0.54647481 0.54753489 0.53408042 0.53761784 0.52303637 0.52926954
0.52791146 0.50881954 0.51222114 0.53135242 0.54022545 0.5458612
0.56032248 0.53384055 0.53282046 0.54131443 0.54668749 0.53821992
0.52913253 0.52573472 0.52052138 0.52208508 0.5263485 0.51232275
0.49042578 0.49637916 0.51297331 0.51488893 0.51838888 0.51529496
0.5464814 0.56466809 0.57562973 0.59345636]
>>> exit()

 

 

▼4.TensorFlow , Kerasのインストール

================================================

※ 2018/12/12現在、残念ながら Python3.7に未対応でした。

 

Install TensorFlow with pip  |  TensorFlow

requiredには、Python3.4, 3.5, 3.6 と記載があり。

試しにやってみましたが Kerasも含めてエラーになりました。

調べてみても、うまく行ったケースはなさそう。。。

 

比較環境はつくれなかったのですが、Python3.6用には

インストールしたので、メモまでに記録します。

================================================

 

1)python3.6環境のアクティベート

> activate python36

 

)インストール

> pip install tensorflow

> pip install keras

 

)動作確認

python3.6環境がアクティブなままで以下の操作

> python

>>> import tensorflow as tf

>>> import keras

 

実際に動作確認した時のコンソール(Anaconda Prompt)は

こんな感じです。

 

(python36) C:\Users\[ユーザー名]>python
Python 3.6.7 |Anaconda, Inc.| (default, Oct 28 2018, 19:44:12) [MSC v.1915 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> import keras
Using TensorFlow backend.
>>> exit()

 

 

今日はここまで!