Pythonスクリプトの実行方法 |
[2014/07/08] ライブラリに関する記述を見直しました。また、リンクのメンテナンスも実施しました。
Python(パイソン)はスクリプト言語の一種で、テキストエディタで編集できてコンパイルせずに実行できます。 2012/4時点で私が使い始めて半年程度ですが、工学分野ではRubyよりかは使いやすいと思っています。 なぜなら、PythonはRubyに比べると書籍の出版冊数で劣りますが算術・グラフ描画ライブラリが充実していることと使いやすいデバッグ機能を組み込まれたエディタがあるためです。
個人的には文字列処理に使っていて、生データの一次処理をよくやります。
WindowsでPythonスクリプトを実行する環境を整える方法について説明します。
Pythonのインストーラは以下のリンクからダウンロードできます。
https://www.python.org/downloads/
さて、Pythonをインストールし終えたらコマンドプロンプトから利用可能なように環境変数を設定しましょう。 図2.2.1,図2.2.2,図2.2.3を参考にして、PATHとPYTHONPATHを設定して下さい。 PATHにはインストールしたPythonの実行ファイルのあるフォルダのパスを設定します。 私の環境だと"C:\Python33"でした。 他のパスもある場合は";"セミコロンで区切って続けて入力します。 また、PYTHONPATHには個人的なライブラリ・モジュールを格納するフォルダのパスを設定します。 PYTHONPATHは必ず設定しなくてはならない項目ではありませんが、設定しておけば任意のフォルダからモジュールをインポートする必要のあるスクリプトを実行できます。
次に、Pythonのスクリプトを効率的に書くためにPyScripterというエディタを下記のリンクよりインストールします。
http://code.google.com/p/pyscripter/
このエディタはフリー・軽い・入力候補表示機能搭載・デバッグモードで各変数の状況を確認可能と4拍子揃っており重宝します。
ただし、残念なことに2014-07時点ではPython3.4に対応していません。
利用する際はPython3.3.xもインストールしておいてください。
PyScripterは標準の文字コードがASCIIとなっており、日本語を取り扱うことができません。 これはASCIIだと8 bitに収まる半角英数字と半角記号しか利用できないためです。 そこで、PyScripterインストールが終わったら、日本語が使えるようにエディタを設定します。
文字コードを変更するには、図2.4.1の様にしてメニューを開いて、図2.4.2を参考に文字コードを変更して下さい。 設定をUTF-8へ変更後、PyScripterを再起動した後に作成されるファイルは全てUTF-8となっています。 なお、ソースコードは一般的なエディタでも編集できますが、文字コードを勝手にShift-jisへ変換してしまう困ったエディタがありますので気を付けて下さい。
Pythonスクリプトを実行してくれるプログラムに対して、スクリプトの内容がPython-3向けに記述されていることや、テキストファイルがUTF-8で記述されていることを指示するために、以下の2行をスクリプトの先頭に書き足しましょう。
#!/usr/bin/env python3 # -*- coding:utf-8 -*- |
ではいよいよスクリプトを実行してみましょう。
Pythonは対話式にスクリプトを組むこともできますが、ここではテキストファイルに保存したコードを実行することで動作を確認してみましょう。
以下のテストスクリプトを適当なフォルダにコピーしてください。
(念のために断っておきますが、ウイルスチェック等はしっかりした上で解凍・実行してくださいね。無保証ですんで…。)
テストスクリプト
コマンドプロンプトのショートカットを同じフォルダ内に作って、そのプロパティから作業フォルダを空欄にしてください。 その上でプロンプトへ"GPS.py"と入力すれば図3.1に示すような出力が得られるはずです。
Pythonで算術計算を行う場合、NumPyとSciPyがあると便利です。 インストールは1) NumPy, 2) SciPyの順です。
★NumPyの公式配布元:http://sourceforge.net/projects/numpy/files/NumPy/
★SciPyの公式配布元:http://sourceforge.net/projects/scipy/files/scipy/
★Windows向け非公式バイナリ配布元:http://www.lfd.uci.edu/~gohlke/pythonlibs/
matplotlibをインストールすれば、グラフを簡単に書くことができます。 matplotlibの動作にはNumPyとSciPyというライブラリも必要です。 インストールは1) NumPy, 2) SciPy, 3) matplotlib の順です。
リンク先にはamd64という名前の付いているものと付いていないものがありますが、amd64の付いている方が64 bit版であることを表しています。
amd64を利用するかどうかは、インストールしているPythonが64 bit版かどうかに依存します。
★matplotlibの公式配布元:http://matplotlib.org/downloads.html
★Windows向け非公式バイナリ配布元:http://www.lfd.uci.edu/~gohlke/pythonlibs/
PythonではC言語で作られたdllを利用するctypesというライブラリが用意されています。 2013/5時点では、32 bit版上でしか動作しないという難点があるのですが、ちょっとしたものを組むなら便利そうです。 独自に作った構造体でのデータのやり取りを行うにはラッパーを書く必要があるのですが、これを自動で作ってくれるツールもあります。
シリアル通信に関しては、pyserialというパッケージをインストールし、serialライブラリをimportすることで利用可能です。
サポートベクトルマシンやランダムフォレストなどの機械学習に使えるパッケージの1つに、scikit-learnが有ります。
ただしこのパッケージは、ビルドを伴うインストールに骨が折れます。
そこで、Anacondaを使ってインストールしましょう。
Anacondaは数値計算に必要なパッケージをもれなく内包したPythonのディストリビューションです。
デフォルトでインストールされることも有りますし、もし初期状態でインストールされていなかったとしてもscikit-learnを入れるのはかなり簡単です。
「conda install scikit-learn」
でインストールできます。
Anacondaの導入に関する詳細はこちら。
注意:
Anacondaを使ってPythonを使う場合、拡張子のひも付やパスの関係で混乱する可能性があります。
オンライン上で公開されているマニュアルを読めば大抵の疑問は解決します。 それを読んでも分からない場合や、導入で詰まりそうなときは以下の書籍を参照してください。 個人的には、[1]をお勧めします。
[1]柴田淳,みんなのPython 第3版,ソフトバンククリエイティブ株式会社,2012/8. :他の言語を書けるならこの本がお勧めです。
[2]細田謙二 他,Python入門,秀和システム,2011/12. :やや辞書的な位置付けです。
[3]辻真吾,Pythonスタートブック,株式会社技術評論社,2010/5. :Python以前に、プログラミングが初めてという超初心者向けの本です。学部の4年生に良いかも。