このような疑問、要望に応えるべく、Pythonの使い方を準備から解説する記事です。 具体的には次の順番でお話ししていきます。
- Pythonの準備
- 具体的なPythonの開発用途、主要パッケージ
- パッケージ類の揃え方
これからPythonを使って開発をしてみたい、と考えるあなた向けの記事ですので、ぜひご覧ください。
記事のもくじ
Pythonの使い方1:Pythonの準備
Pythonを利用するために、まずはPythonの準備について簡単にお話します。
Pythonは、MacやLinuxでは標準インストールされていることが多いため、MacやLinuxをお使いの方はPythonのバージョンと合わせてインストールされているか確認してみましょう。
Pythonのバージョンと合わせて確認するためには、ターミナルを開き、次のコマンドを入力します。
# python -V
Pythonのバージョンが表示されればインストール済みとなります。
注意点として、標準インストールされているPythonは2系の場合が多いため、これからPythonを学び始める方は、新たにPythonの3系をインストールしましょう。
Windowsユーザーの方も同様にPythonの3系をインストールします。
ローカル環境上に開発環境を作成する場合は、Anacondaがおすすめです。
Pythonについて、基礎中の基礎と合わせて確認したい方は、こちらの記事でも解説していますのでご覧ください。
Pythonの基本文法や学習方法まで紹介しています。
Pythonの使い方2:具体的な開発用途、主要パッケージ
Pythonの使い方として、具体的な開発用途と合わせて、それぞれで利用されるパッケージを紹介します。
Pythonはさまざまな開発用途で利用できますが、適切なパッケージを利用しなければなかなか思うように開発・学習をすすめることは難しいでしょう。
こちらの項目の内容を参考に、主要パッケージを用意してみてください。
人工知能、機械学習開発
近年、Pythonが注目を集めている理由の一つとも言える人工知能、機械学習開発でPythonは利用することができます。
人工知能、機械学習、ディープラーニングといった分野の開発でPythonが頻繁に利用される理由として、フレームワークやライブラリが豊富である点が挙げられます。
実際にPythonでは、次に挙げるようなフレームワークやライブラリが利用可能です。
- TensorFlow
- Keras
- PyTorch
- MXnet
- Chainer
- Scikit-lern
など
これらのフレームワークやライブラリを利用することで、人工知能・機械学習開発が行なえます。
ここで紹介したフレームワークやライブラリについては、特徴やメリット・デメリットをこちらの記事でまとめていますので、興味のある方はぜひご覧ください。
Webスクレイピング
Webスクレイピングは、一定の条件でWeb上のデータを抽出する技術です。
Webスクレイピングを利用すれば、交通機関のチケットの最安値を見つけ出したり、さまざまなECショップで出品されている同一商品の最安値を見つけ出したりすることができます。
Webスクレイピングを自前で作る場合、Pythonが選ばれることが多いもの。その理由としては、Pythonで用意されているパッケージが使いやすいからです。
PythonでWebスクレイピング開発を行う場合は、次に挙げるようなフレームワークなどを利用します。
- Scrapy
- BeautifulSoup4
- lxml
- Requests
など
ScrapyはWebスクレイピングのためのフレームワークです。
定期的にWeb上のデータを抽出する「クローラー」の管理や、エラー時のリトライ処理など、Webスクレイピングで必要な機能を簡単に実装できます。
その他のBeautifulSoup4などはスクレイピングライブラリとなり、Webスクレイピングを簡単に行うために利用します。
これらのパッケージを使って取得したデータは、データベースに保存したり、データ分析用のパッケージと組み合わせることでグラフを作成したりすることが可能です。
Webサービス、Webアプリケーション
PythonはWebサービスやWebアプリケーションの開発も得意としています。
実際にPythonを用いて開発されたWebサービス類としては、YouTubeやDropbox、Redditが有名です。
Pythonは比較的簡単に習得することができ、コードの可読性も高いことから、WebサービスやWebアプリケーションの開発に利用されることが多いといえるでしょう。
日本国内では、PHPやRubyのほうが人気があると言えますが、海外に目を向けてみるとPythonのほうが圧倒的に人気です。
日本でも徐々にPythonによる開発が注目されつつあります。
PythonでWebサービスやWebアプリケーション開発を行う際には、次に挙げるようなパッケージを利用します。
- Django
- Flask
- Bottle
- Tornado
など
ここで紹介したパッケージはすべてフレームワークです。
このなかでも、Djangoは特に人気が高く、機能の充実度や安定性から選ばれることが多いフレームワークとなっています。
Webサービスを開発する際には、特にセキュリティ面に信頼が置けるかどうかが大切となります。
Djangoは、セキュリティ面でもしっかりと設計されているため、安心して利用できるのです。
そのほかにも、Flaskは中小規模の開発に向いており軽量であるなど、フレームワークごとに特徴があるため、あなたの開発したい規模や必要機能に応じて選ぶとよいでしょう。
データ分析
Pythonはデータサイエンス、統計処理、データ分析の分野も得意としています。
データ分析を専門に行うデータサイエンティストやデータアナリティストは、R言語を利用することが一般的ですが、近年ではPythonが活用され始めています。
Pythonの習得しやすさや、パッケージの豊富さがその理由でしょう。
また、Pythonはインタプリタ型言語であるため、コンパイルが必要ありません。
データ分析・データ解析の際には、実行結果を見ながらコードを修正することも多いため、コンパイルにかかる時間が短縮できる点も選ばれる理由として挙げられます。
Pythonを使ってデータ分析を行う場合、次に挙げるようなパッケージが利用されます。
- NumPy
- SciPy
- Pandas
- Matplotlib
など
NumPyはPythonでデータ分析を行う際には必須とも言える存在であり、データ分析では欠かせないライブラリです。
そんなNumPyをさらに拡張したSciPyや、R言語風のデータフレームを使って統計処理を行うPandas、グラフ作成に利用するMatplotlibなど、データ分析では多くのライブラリを活用します。
Pythonの使い方3:パッケージ類を揃えて開発する
さまざまなパッケージを紹介しましたが、これらはどのように準備するのでしょうか。
ここでは、Pythonの標準パッケージ管理ツールである「pip」の使い方や、利用上の注意点について解説します。
標準パッケージ管理ツール「pip」の使い方
pipはPythonのパッケージを管理するための標準ツールです。
Pythonのパッケージは公式で配布されているものだけでなく、サードパーティが配布しているものも存在します。
先ほど紹介した主要パッケージのほとんどはサードパーティ製です。
サードパーティ製のパッケージはPyPIで配布されており、pipを利用することでPyPIで管理されているパッケージを簡単にインストールすることができます。
pipの使い方は簡単で、主要な使い方は次のとおりです。
# pip install (パッケージ名)
# pip freeze
# pip uninstall (パッケージ名)
ローカル環境上からこれらのコマンドを入力するだけで、簡単にパッケージを管理することができます。
なお、Anacondaを使ってPythonの開発環境を用意した場合には、「conda」と呼ばれる専用のパッケージ管理ツールが用意されています。
同じパッケージ管理ツールですが、condaの方がより高機能です。
pipとcondaは参照するリポジトリが異なるため、併用することはおすすめしません。
併用すると最悪の場合には開発環境が壊れてしまうことも考えられます。
condaでは仮想環境の管理も行えるため、Anacondaで開発環境を用意した場合には、pipではなくcondaを利用しましょう。
注意点:仮想環境を用意すること
これからPythonで開発・学習をすすめる際には、はじめに仮想環境を用意することがおすすめです。
Pythonはpipやcondaなどで簡単にパッケージを追加できますが、パッケージの管理が煩雑になる可能性や、バージョン違いによる動作不具合などが発生してしまう可能性が考えられます。
そのため、開発用途ごとに仮想環境を用意し、必要最低限のパッケージをインストールして利用することが一般的です。
Pythonの仮想環境を用意する方法はいくつかありますが、pipを利用する場合はvenvや、pyenvなどを利用するとよいでしょう。
Anacondaを利用している場合は、condaの機能として仮想環境が用意できます。
# conda create -n (仮想環境名) python
# conda create -n (仮想環境名) python=3.6
# conda info -e
# activate (仮想環境名) ←Macの場合 # conda activate (仮想環境名) ←Windowsの場合
Pythonの仮想環境は、開発や学習を効率的にすすめるためだけでなく、一つのサーバーに複数のPythonアプリケーションを同居させたい場合などでも活用するものです。
そのため、Pythonの仮想環境の使い方はしっかりと身に付けておきましょう。
まとめ:Pythonはさまざまな用途の開発が可能
Pythonは人工知能開発やWebサービス開発、データ分析など、さまざまな用途で利用されます。
Pythonの使い方としては、それぞれの用途に合わせて適切なパッケージをインストールすることが大切です。
パッケージのインストールには「pip」や「conda」などのパッケージ管理ツールを利用しますが、併用すると問題が起こる可能性があるため注意しなければなりません。
また、Pythonの開発・学習の際には仮想環境を用意することが一般的です。
ぜひ、この記事の内容を参考にPythonを使ってみてはいかがでしょうか。