Python 備忘録

Python-ver: 3.6.3

MatplotLibの実践①

ソースの場所

今日はMatplotLibをインストールしたので、実際に基本的な動作を確認するために使ってみようと思います。

前までに作ったdefaultという仮想環境の中で動作を確認します。

だが、ソースはどこに置けばいいんだ?

フォルダの構成は

  • Include
  • Lib
  • Scripts
  • td
  • pip-selfcheck.json

になっている。
一見Scriptsというフォルダに書けばよさそうだが、中は結構python.exeとかいっぱいある。

色々調べてみると、どうやらどこでも良いらしい。

厳密には、activateで仮想環境が利用可能状態になっている状態でpython *.pyをすると、
そのローカルの仮想環境のpython.exeが動く。

つまり、activateするとその仮想環境にインストールされたライブラリが使える状態でプログラムを実行してくれるらしい。
なので、フォルダの中にsrcという新しいフォルダを作ってその中でソースを管理することに。(あまりよくない?)

NumpyとMatplotLibの実行確認

なのでテストとして、srcフォルダの中に、circle.pyを作成。
ちなみにテキストエディタatomです。

以下のソースを入力して保存。

import math

import numpy
from matplotlib import pyplot

def make_rotate_matrix(rad):
    return numpy.array([[math.cos(rad), -math.sin(rad)],
                        [math.sin(rad), math.cos(rad)]]).transpose()

def main():
    num = 20

    print("degree \t result")

    x_positions = []
    y_positions = []

    base = numpy.array([1, 0])

    for x in range(num + 1):
        rad = x * math.pi * 2 / num
        rot = make_rotate_matrix(rad)
        deg = 360 / num * x
        result = numpy.dot(base, rot)

        print(deg, "\t", result)

        x_positions.append(result[0])
        y_positions.append(result[1])

    pyplot.plot(x_positions, y_positions)
    pyplot.show()

if __name__ == "__main__":
    main()

仮想環境をactivateで利用可能状態にして、srcフォルダまでcdで移動。
そして、python circle.pyを入力すると、かっこの悪い円が出てくるはず。

こんなに簡単にウィンドウが出てくるプログラムを書けるのは凄いと思った。

ソースは少し編集をしてありますが、こちらを参考にしました。
www.amazon.co.jp

これが動かせれば、numpyとmatplotlibの動作は確認できました。
日々一歩ずつ着実に進んでいきます。

次は、やっと画像認識に入ってゆこうと思います。

numpyとmatplotlibのインストール

今日は画像分析の前段階としてnumpyとmatplotlibというライブラリをインストールしてみたいと思います。

NumPyというのは、配列なんかを処理するのに高速に動かすためのライブラリのこと。

MatPlotLibというのは、データの列を画像に描画するためのライブラリのこと。

MatPlotLibはNumPyが無いとダメらしい。

両方とも学術系のライブラリみたい。

インストールは結構簡単だった。

まず、前の記事で用意したdefaultフォルダまでコマンドラインで行って、アクティブ化する。

アクティブ化というのは仮想環境のフォルダの中のactivateをコマンドラインで実行すること。
コマンドラインだと、(default) C:Users....のようにコマンドラインが変化する。
アクティブ化した仮想環境は利用可能状態になり、ライブラリのインストールなどができる。

そして、アクティブ化して状態でeasy_install numpyと打つ。
すると、勝手にnumpyをdefautにインストールしてくれる。

インストールされたnumpyはLibというフォルダの中に入っているはず。
警告などが出て、ちょっと怖かったけど、無事に終了。後で、何かありそうな予感。

そして、matplotlibという画像編集のライブラリを同様にインストールすると、

                        * The following required packages can not be built:
                        * freetype, png * Please check http://gnuwin32.sourc
                        * eforge.net/packages/freetype.htm for instructions
                        * to install freetype * Please check http://gnuwin32
                        * .sourceforge.net/packages/libpng.htm for
                        * instructions to install png
error: Setup script exited with 1

こんなエラーメッセージが返ってきた。

困ってインターネットで調べてみるとpip installというコマンドでもインストールができるらしい。
なのでpip install matplotlibで再度挑戦すると、すんなりインストールできました。

なんでなのか、pipとeasy_installの違いを少し調べてみた。するとQiitaにこんな記事が、

(easy_installは)pipの一世代前のパッケージング管理システム。諸々の事情があり、現時点(2017年2月)では姿を消しつつある。そんなものが過去にあったと知っておくだけで良いでしょう。pipとeasy_installの違いはココに詳しく書かれているので、興味がある人は読んでみるとよいでしょう。

https://qiita.com/kenta1984/items/16a14f3bfaf1f257c585


そして、インストールには基本的にはpipを使いましょうと書いてある。
また勉強になったなぁ。

今度は実際にmatplotlibを使って画像の編集をしたいと思います。

Pythonのインストールと仮想環境構築

の今日は初めてのPythonということで、Pythonの実行環境をインストールしてみました。

参考にしたのはこちら、

www.amazon.co.jp

  

ここからパイソンをダウンロード。

Download Python | Python.org


インストールしたのは、2017年10月現在の最新版、3.6.3。

それで↓から仮想環境用のファイルをダウンロード

virtualenv 15.1.0 : Python Package Index

仮想環境は15.1.0。

環境変数のパスを通した前提で話を進めます。

 

ところで、仮想環境とは、プログラムに必要なライブラリや実行環境などをまとめたもの。Pythonでは、プロジェクトごとに必要なライブラリを仮想環境ごとにインストールして持ってくる。そうすることで、他のファイルとの依存性を無くせるし、バージョン違いでトラブルが起きにくいそう。

 

●環境インストール

  1. コマンドプロンプトをアクセサリから右クリックして、「管理者として実行」し、仮想環境用のファイル(virtualenv-15.1.0.tar.gz)があるフォルダまでcdで移動する。
  2. そして、python -c "import tarfile;tarfile.open('virtualenv-15.1.0.tar.gz').extractall()"と入力しエンター。するとvirtualenvのフォルダが作られるので、そこにcdで移動。
  3. それでpython setup.py installと入力。

●プロジェクト作成

  1. windowsを使っているので、自分のユーザーフォルダの直下に名前は何でも良いがプロジェクト用のフォルダを作る。Projectとか。
  2. 作ったプロジェクト用のフォルダに移動して、python -m virtualenv defaultと入力。
  3. すると、defaultという仮想環境がprojectsの中に作られますよー、というお話。

 

 

そして、仮想環境ですが、構築中にトラブル。

No module Named 'pkgutil'やらOS Errorやらなんやらが出た。

 

よく見てみると、自分のユーザーフォルダが文字化けしていた。

windowsで日本語でユーザー登録していたので、パスがちゃんと通らなかったせいでした。

これに2日ほどついやしたことが馬鹿馬鹿しい・・・

 

なので、新しいユーザーを追加して、そこにインストールしました。

これでやっと仮想環境が整いました。

次は、NumbPyとかのインストールをしてみます。