1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonによるプログラミング時に使用するライブラリ【開発分類別】

Posted at

概要

Pythonは「pip」が優秀で、情報もあふれているので最近よく使用しています。
ここでは、一つ一つのライブラリの使い方については説明しません。開発分類別に私が採用しているライブラリを列挙し、ライブラリの導入方法について説明します。

開発環境

私は特別にこだわりはないので「Anaconda」を使用しています。本当はLinux PCで「virtualenv」を使用し環境を組みたいと思っているけれど、すでにWindowsで環境を組んでしまっているので、面倒くさがっています。

開発分類

  • Webアプリ開発
  • 組込みソフトウェア(センサ制御)
  • デスクトップアプリ
  • 画像処理
  • 機械学習

Webアプリ開発

サーバサイドのプログラムを作成できます。私が採用していているのは「flask」です。PythonのWebフレームワークとしては「Django」ですが、こちらは機能もりもりのフレームワークです。それに対し、flaskは機能は単体では機能が少ない代わりに、覚えることが少ないです。

flaskはサーバサイドレンダリングできるのですが、そのうちflaskはREST API的にサーバサイドの処理だけを担当させ、クライアント側はJavascriptで作成する方が良かったりするので、flaskのレンダリング機能はそこそこで勉強すれば良いと思います。

flaskはpipからインストールできます。

pip install flask

組込みソフトウェア(センサ制御)

ここで対象とするのはセンサ制御です。とはいえ、現在は使い方が簡単なセンサがたくさん出ているので、覚えることは少ないです。基本的には「pyserial」を使用すれば良いです。あとはシリアル通信に必要な設定さえ分かっていれば、結構色々なセンサ情報を取得できるので、遊ぶには上等です。

pip install pyserial

デスクトップアプリ

私はデスクトップアプリ開発時は「tkinter」を使います。
Pythonでのデスクトップアプリ開発ではQtがよく使われているように思いますが、商用の場合はライセンス料が高くて採用できません。また、tkinterはPython導入時に標準で使用できるので、開発環境構築に悩むことはありません

tkinter」は表のようにフレームを配置するイメージでいれば、そこまでデザインに悩む必要はありません。

画像処理

画像処理であれば「OpenCV」一択のような気がします。最近は機械学習系のこともできるらしいですが、

pip install numpy
pip install opencv-python

機械学習

機械学習であれば、情報量として「Tensorflow+keras」を選択するのが現在は安全なのかと思います。今は「PyTorch」が人気を上げてきているように思いますが、情報だけ取得するくらいでまだ良いと思います。

構造的にはTensorflowの中にkerasが内蔵されている形になっています。TensorflowはAnacondaからインストールした方が良いです。私の別の記事(メモ?)で説明しています(https://qiita.com/StrayDog/items/5b91096133ea65bfd5ec)。

でも、最近少し「pytorch」が気になっている。

pip install numpy
1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?