Python
Pythonはさまざまな分野のアプリケーションで使われているインタープリタ型のプログラミング言語です。クリーンで読みやすい文法、手続き型のコードによる自然な表現、直感的なオブジェクト指向、事実上すべてのタスクをこなせる広範な標準ライブラリとサードパーティのモジュール、アプリケーションに組み込んでスクリプトインタフェースとして利用することが可能・・など様々な利点があります。
Google社においても C++、 java と並ぶ3大言語のひとつとして位置づけられていて、Googleが公開している人工知能のAPI TensorFlow も Python のライブラリのひとつとして位置付けられています。
開発環境を含めてオープンソースです。無償でダウンロード>インストールして利用することができます。
Python の現在
- 言語としてのランキング情報は以下
- PYPL|PopularitY of Programming Language index 言語の動向
- RedMonk JavaScript, Java等と並んで最上位に
- 以下のようなサイト(Webアプリ)が Python で構築されています。
Youtube / Instagram / Pinterest / Dropbox
CONTENTS
はじめに
各種配布元
- Python https://www.python.org/
- Python Japan https://www.python.jp/
- 関連ツール
- Anaconda https://www.anaconda.com/
- Jupyter Notebook http://jupyter.org/
- Google Corabolatery https://colab.research.google.com/
公式サイト上でPythonを試す
公式サイト の画面上で黄色のボタンをクリックすると(左下図)、仮想コンソールが起動します。右下図のように、その動作を試すことができます。
入門サイト
開発環境の準備
前提の確認
Pythonには、2系と3系があって、これらは互換性がありません。
- Python2系
Macの場合はすでにインストール済みです。
ターミナルから、いきなり試すことができます。
- Python3系
これから学習する方は、3系のインストールをおすすめします。- https://www.python.org/downloads/ 基本 IDE含む
- https://www.anaconda.com/ データサイエンス関連ライブラリ統合
様々な開発環境
以下のような開発環境があります。ローカルPC上で複数の開発環境を混在させるとシステムプログラムの衝突が生じるので、いずれかを選択することをお勧めします(GoogleColaboratory はクラウド環境なので、PCのローカル環境とは無関係に採用できます)。
- Mac の Terminal(Windows のコンソール)から利用
- Python IDLE の利用
- Anaconda 統合開発環境の利用
- IPython(対話型 Python)
- Jupyter Notebook / Jupyter Lab
- GoogleColaboratory
以下、順に解説します。
Python の環境
Mac の Terminal
Macには標準で Python 2.7(Catalina以降は Python3)がインストールされているので、Terminal を起動すれば、すぐに体験することができます。開発に必要なのは、プログラムを書くためのテキストエディタのみです。あとは Terminal からコマンドを打てば動きます。以下、手順の例です。
- 1) テキストエディタで Python のプログラムを書く
- 2) sample.py として保存(場所は Terminal のカレントディレクトリ)
- 3) Terminal から、以下のようにコマンド入力するとプログラムが動きます。
$ python sample.py $ python3 sample.py(Python3 の場合)
以下のページに、もう少し具体的な説明を記載しています。
Python/Sample
Python IDLE
公式サイトで配布されている標準的な開発環境(IDLE)です。ダウンロード・インストールすると(Win / Macとも)アプリケーションメニューに Pythonフォルダ が追加され、IDLEのダブルクリックで開発環境が起動します。配布元は以下。
https://www.python.org/
- Terminalで確認すると以下の場所に存在することがわかります。
$ whitch python3 ← Terminal でコマンドの所在を確認 /Library/Frameworks/Python.framework/Versions/3.8/bin/python3
- ライブラリ等の追加は Terminal から pip3 コマンドを使って行う前提です。
- ウインドウの中のプロンプト等は、Terminalで見えるものと同様ですが、ウインドウには専用のメニューが並びます。インタラクティブモード、スクリプトモード、同様に使えます。カレントディレクトリを意識することなく、普通にファイルを開いて走らせることができるので、Terminalの利用よりもハードルが下がります。
Anaconda
Anaconda はデータサイエンス向けの統合開発環境で、科学技術計算などを中心とした数多くのモジュールやツールが独自の形式でパッケージされています。ソースコードエディターはもちろん、Python 2系、3系を仮想環境を分けて利用できるなど、様々な活用が可能です(ディスク領域は1GB以上使います)。
- 公式サイト
https://www.anaconda.com/ - 以下に、インストール情報があります。
- メニューの Environments から 3系を使う環境、2系を使う環境、Rを使う環境など、目的に応じた仮想環境をつくることができます。仮装環境ごとに各種開発パッケージやターミナルの起動が可能です。
- Python は様々なライブラリーを活用するのが前提です。Anaconda があれば、Environments のメニューから、環境にあったライブラリをインストールする作業が簡単に実行できます。
- GUI画面で必要なライブラリが見つからない場合は、Environments の ▶︎ から Open Terminal でターミナルを開いて(pip コマンドは使わず)conda コマンドでパッケージをインストールします。以下、例です。
$ conda install [ ライブラリ名 ]
- Anaconda での基本コマンド
Environments の ▶︎ から Open Terminal で、専用ターミナルを開いてから以下のコマンドが使えます。- Anaconda自体のアップデート
$ conda update -n base conda
- Anacondaの全パッケージのアップデート
$ conda update --all
- Anacondaの特定のパッケージ(例:pandas)のアップデート
$ conda update pandas
- Anaconda自体のアップデート
- 注意点
- Terminal環境を利用する方、また、シンプルに学習したい場合は、Anaconda のインストールは控えた方がいいかもしれません。以下のとおり、無難に扱うには、それなりに学習コストがかかります。
- Anaconda のインストール先は、ホームディレクトリ直下です。
/user/(ユーザ名)/anaconda3
インストール時に「自分専用にインストール」を選んでください。
「この場所にはインストールできません」と出て、「続ける」が押下できないことがありますが、「自分専用」のところを再度クリックすると、警告が消えてインストールできます。 - Anaconda は一部に独自技術を使用しているため、公式パッケージにはあっても Anaconda では利用できないものがあります。また標準的な Pythonの 仮想環境を利用しないため、通常であれば pip コマンドでインストールする作業も、Anaconda を使用する場合は、専用の Conda コマンド を使う必要があります。
- OS がデフォルトで提供する機能に干渉したり、Homebrew との相性が悪いなどの問題もあるので、Anaconda と Terminal環境の併用は避けるのが賢明です。
参考:http://onoz000.hatenablog.com/entry/2018/02/11/142347
IPython の環境
IPython(アイパイソン)は Python を対話的に実行するためのシェルで、Python の機能の一部(対話処理)に、対話を強化する各種機能を追加したもの・・というイメージです。統計処理(データ読む>分析する>結果をグラフで表示する)など、作業を逐次的に進めていくプログラムの開発に向いています。
Jupyter Notebook / Jupyter Lab
Jupyter Notebook / Jupyter Lab は、IPython というカーネルと、Notebook または Lab という Web UI をセットにした開発環境で、ブラウザ上でデータ処理とコメントなどを順次ノート形式で記録できるようにしたものです。ブラウザを動作基盤とした Webアプリケーションなので、環境に依存しない開発が可能です。
- Terminalからのインストールは
$ pip3 install jupyter(2系の場合はpip)
- Terminalからの起動は
$ jupyter notebook
- Webブラウザが開発基盤となります
jupyter notebook は、起動と同時にローカルサーバーとブラウザが同時に起動して、以下のようなアドレスで接続表示されます。http://localhost:8888/tree (Xampp デフォルトのローカルポート)
ブラウザ自体が開発環境となり、[QUIT] で終了するまで、Terminalの方は「音信不通」の状態になります。
注).html拡張子 に対するアプリケーションの割付が「ブラウザ」になっていることが必要です。.html のダブルクリックでエディタが開くような割付設定を行なっていると、Notebookがうまく起動できないので注意して下さい。
Google Colaboratory
GoogleColaboratory とは、Googleの仮想マシン上で動くIPythonの実行環境で、Jupyter Notebook を利用します。Googleアカウントがあれば、ブラウザから誰でも無料で利用できます。
https://colab.research.google.com
記事を独立させました。> GoogleColaboratory
参考:Jupyter Notebookの公開について
分析の結果(JupyterNotebook)を他者に見せたい場合はどうするか・・
JupyterNotebook のデータ(.ipynb)ファイルは、JSON 形式のテキストファイルなので、そのままだと意味不明の状態です。これを開発中のノート形式と同様に閲覧できるようにするには・・・
- GitHub にファイルを置く
https://github.com/koichi-inoue/JupyterNotebook/blob/master/DataVisualization02.ipynb
GitHub には、.ipynb をレンダリングする機能があるので、リポジトリに置かれたファイルはノート形式で閲覧できます(ただし現状では時々エラー)
- nbviewer でGitHub のファイルをレンダリング
nbviewer のレンダリングは優秀なので、こちらのサイトに誘導してリンク公開するとスムーズです。
https://nbviewer.jupyter.org/github/koichi-inoue/JupyterNotebook/blob/master/DataVisualization02.ipynb
Python ツール・ライブラリ
ツール・ライブラリ等のインストール
Terminal からのインストールには、pip3(2系は pip)を使います。以下のように、コマンド入力はいたって簡単です。
$ pip3 install pygame ← ゲーム開発用のライブラリ $ pip3 install pyopengl ← 3DCG用のグラフィックライブラリ $ pip3 install jupyter ← jupyter notebook $ pip3 install orange3 ← データマイニングツール Orange3
ライブラリ紹介
- データ解析/分析:以下のようなツールやライブラリがあります。
- NumPy:行列演算等の数値計算モジュール(修正BSD)
- SciPy:NumPyベースの数値解析(New BSD)
- Pandas:データ解析用ライブラリ(BSD)
- matplotlib:NumPyのためのグラフ描画ライブラリ(BSD)
- seaborn:matplotlibベースのビジュアライゼーションライブラリ(BSD)
- graph-tool:グラフの操作および統計解析(GPL)
- scikit-learn:NumPy, Matplotlib 互換の機械学習ライブラリ(BSD)
詳細:scikit-learn - TensorFlow:機械学習用ライブラリ(Apache License 2.0 by Google)
- Keras:ニューラルネットワークライブラリ(MIT)
- 人工知能:以下のようなツールやライブラリがあります。
- TensorFlow https://www.tensorflow.org/
- Keras https://keras.io/ja/
- Chainer http://chainer.org/
- Caffe http://caffe.berkeleyvision.org/
- Theano http://deeplearning.net/software/theano/index.html
- Torch http://torch.ch/
- scikit-learn http://scikit-learn.org/stable/
- PyML http://pyml.sourceforge.net/
- Pylearn2 http://deeplearning.net/software/pylearn2/
- PyBrain http://pybrain.org/pages/home
- Game:プログラミングを楽しく体験
- Pygame https://www.pygame.org/
- Pygame Zero https://pygame-zero.readthedocs.io/ja/latest/index.html
インストール済みライブラリの確認
以下のコマンドで確認できます
$ pip3 list Package Version ------------------ ----------- ipykernel 5.3.0 ipython 7.16.1 jupyter 1.0.0 jupyter-client 6.1.5 jupyter-console 6.1.0 jupyter-core 4.6.3 matplotlib 3.2.2 notebook 6.0.3 numpy 1.19.0 pandas 1.0.5 pip 20.1.1 :