プログラミング

初心者向け!Pythonでデスクトップアプリを簡単に作る方法!おすすめライブラリも紹介

更新日: 投稿日:2020年9月23日 ※本記事は[プロモーション]が含まれています

初心者向け!Pythonでデスクトップアプリを簡単に作る方法!おすすめライブラリも紹介
ロゴ画像:公式サイトより https://www.python.org/community/logos/
本記事はプログラミング初学者に向けた記事となっています。これからPythonを勉強する方のために現役エンジニアの方に寄稿頂きました。Pythonを使ったデスクトップアプリ生成によく使用されるライブラリの解説など、未経験の方でもわかりやすい内容となっていますので、Python学習にお役立てください。また、記事の後半ではPython学習におすすめなプログラミングスクールを紹介しています。ぜひ最後までご覧ください!

デスクトップアプリって何?

デスクトップアプリって何?

デスクトップアプリと言われてピンと来る人は多くないかもしれません。Webアプリケーションの台頭によって、区別の為にわざわざ『デスクトップアプリケーション』→『デスクトップアプリ』と言われています。もっと言えば、普段PC作業する人がインストールするアプリケーションはだいたいデスクトップアプリに分類されます。

GUIアプリとほぼ同じ意味で使われることもありますし、略してアプリケーション、更に略してアプリと呼ばれたりもします。ちなみにアプリケーションはアプリケーションソフトウェアの略で、ソフトウェアという単語が入っていないのでアプリと言われても少し理解が難しいですが、単純にソフトウェアのことを指しています。ややこしいので呼称を統一してもらいたいものですね。

Pythonでのデスクトップアプリ生成の選択肢

Pythonでのデスクトップアプリ生成の選択肢

Pythonでデスクトップアプリを生成することは可能なのでしょうか。答えは『Yes』です。デスクトップアプリを生成する為に便利なライブラリも多々用意されていますので、ここでは良く用いられるライブラリを4つ紹介します。

具体的な使い方はここでは紹介しませんが、ご興味のある方はそれぞれのリンク先に具体例が載っていますので参照いただければと思います。

Tkinter

TkinterはPython環境を構築した際に標準導入されているライブラリです。Tcl/TkのTk部分をPythonから制御できるようにしたもので(このような関係性をバインディングといいます) 、デスクトップアプリを素早く構築可能です。

今更Tcl/Tkを個別に使うことは少ないかもしれませんが(もしいらっしゃったらすみません。。)、Tcl/Tkとのインターフェース互換性があるので、従来のユーザーにとっては嬉しい仕様のライブラリです。

とはいえ初めてのユーザーにも比較的取り組み易い仕様にはなっていると思います。なぜならweb上に解説記事が山のように転がっているからです。歴史が古い分、資産蓄積もなされているのですね。

Tcl/TkのPythonインターフェース
PythonのTkinterを使ってみる

Kivy

Kivyは美しいデスクトップアプリを開発したい場合の最適解だと思います。言語仕様として良く例えられるのがHTMLとCSSの関係性で、HTML→Python、CSS→kivyに置き換えられます。動作の核となる部分をPythonで実装し、そのレイアウトをKivyが担当ましょう、という思想ですね。

実は、Kivyの解説記事は多くありません。4つ紹介しているライブラリの中でも最も後発で、その分開発が積極的に行われているが故の問題です。英語の文献を読み解くことに抵抗のない方は、ぜひkivyを学んでもらいたいです。

Kivyのグラフィックは非常に洗練されていて、モダンデザインを構築したい場合には適していると思います。とはいえ具体例がないと想像しにくいと思いますので、参考リンクを掲載しておきます。

Python Kivyの使い方① ~Kv Languageの基本~
Kivy(英語)

PyQt

PyQtはQtのPythonバインディングです。バインディングは前述のTk⇔Tkinterのような関係性を指しますね。このライブラリもいつから存在していたのか記憶がありませんが、かなり古くから開発されているものです。これもあくまで私見ですが、PyQtの最大の強みはQtDesignerだと思います。

QtDesignerというデスクトップアプリ上で、画面を見ながら置きたい部品をどこにしようかなー??と考えながらレイアウトしていくわけです。視覚的に有利で、デスクトップアプリの草案が、急遽必要なんです!という場合にはうってつけですね。

個人で使用する場合全く問題ありませんが、企業での開発などにPyQtを使う場合はライセンス関連が少々厄介です。これを嫌ってPySideというライブラリを使用する方もいらっしゃるみたいです。また、後述するwxPythonも選択肢の一つです。

[PyQt + QtDesigner] Python で GUIアプリ開発 その1 ~ 開発の流れ ~(現在は閉鎖しています)

wxPython

wxPythonはwxWidgetsのPythonバインディングです。wxWidgetsはC++で実装されているのですが、バインディングなのでユーザーがC++の中身を気にする必要はありません。その最大の特徴として、PyQtのような煩わしいライセンスではなく、全て無料であるという点です。日本語の情報も多く、導入も非常に簡単です。Python開発者のグイド(Guido van Rossum)さんも下記の通りの絶賛ぶりです。

“wxPython is the best and most mature cross platform GUI toolkit, given a number of const raints. The only reason wxPython isn’t the standard Python GUI toolkit is that Tkinter
was there first.”

wxPythonのGUIデザイナーwxFormBuilderを使ってみる
Welcome to wxPython!

実行化ファイル(exe/app)について

実行化ファイル(exe/app)について

実行化するメリットは何?と聞かれると回答にこまってしまいます。勝手にPython環境入れておけよと。しかしそうも言っていられない場合もありますね。他の端末でもテストをする際にexe化は必要になるものです。

せっかく作ったデスクトップアプリならexe化して配布したいという場合もあるかもしれません。良い機会ですのでexe化する為の選択肢を2つ紹介します。なお、使い方は簡単なのですが、exe/app化の際にエラーが多発するモジュールです。

状況に応じて対策が異なりますのでエラーメッセージを検索してみてください。偉大な先人たちが資産を残してくれている場合が多いです。

pyinstaller

Windows用のexeファイルへの変換時に使います。私の経験則ではあまりエラーで落ちることはありません。作業ディレクトリに移動して”pyinstaller xxx.py”を実行するだけで事足ります。

cx_Freeze

exe化だけでなく、 Mac用のappファイルへの変換時に使えるライブラリです。pyinstallerに比べると少し面倒で、setup.pyをxxx.pyとは別に用意する必要があります。必要なファイルを揃えた後に、作業ディレクトリに移動して”python setup.py bdist_mac”を実行すれば、buildフォルダ内にappファイルが生成されます。

参考までに、良くあるエラーについてリンクをまとめておきます。

Error when using pyinstaller: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xff
PyInstallerでexeファイル化
Pythonスクリプトを実行ファイル(app/exe)に変換

プログラミング初心者が効率よく学習するならスクールがおすすめ

プログラミングスクールであれば必要な知識を体系的に学べるだけでなく、質問できる環境が整っており、その道のプロから的確な回答が返ってきます。効率良く学習するうえでこの上ない環境といえます。

ここではPythonを学習するのにおすすなプログラミングスクールをご紹介します。

DMM WEBCAMP 学習コース|Pythonコース

DMM WEBCAMP 学習コース(旧:SKILLS)
出典:DMM WEBCAMP 学習コース公式サイト

DMM WEBCAMP 学習コース(旧:SKILLS)は、マンツーマンによる指導と独自メソッド(ITスキル習得に必要なプロセスを3ステップに分解)で、未経験から『最短』で即戦力スキルを身につけることができるプログラミングスクールです。

Pythonコースでは、AIの基礎から機械学習、そして特徴量作成・モデル構築・精度評価の一連を実践しながら習得していきます。カナダで開発された学習・評価モデル『ICEモデル』を基にした独自カリキュラムで、未経験でも短期間で上達でき挫折することなくやり遂げることが可能です。

週2回行われるメンタリングではモチベーションを維持・向上させるために、学習方法のレクチャーや疑問点の解消、1週間の振り返りなどのサポートを行っています。

このコースでは実際に機械学習プログラムを開発することができるので、現場で通用する実践的なスキルを身につけることができます。また、エラーが出たりつまづいた場合には、毎日15時〜23時にチャットで質問でき(であれば素早く回答!)、課題へのレビューサポートも無制限で行っています。※タイタニックの乗客データからの生存者を予測や花の種類の分類、レンタサイクルの利用者予測など

AI・データサイエンスの知識を身につけて転職に活かしたい社会人や、将来性あるPythonを習得して就職活動の強みとしたい学生の方には特におすすめのコースです。

→ DMM WEBCAMP 学習コース|Pythonコースの詳細はこちら

キカガク

キカガクの公式サイト
出典:キカガク公式サイト

キカガクは、受講者『45,000名以上』という実績と受講生満足度『90%』を誇る、動画学習プラットホームです。AI・機械学習領域の学習に特化しており、JDLA(日本ディープラーニング協会)のE資格認定講座を受講することで、受験可能なレベルのスキルを身につけることができます。

また、第四次産業革命スキル習得講座にも認定されているので、給付金制度を利用すれば受講料の70%を補助してもらえます。通常792,000円(税込)の受講料を237,600円(税込)まで下げることができるので、これまでプログラミングスクールへの受講を予算面でためらっていた方にはとても魅力的なポイントといえます。

キカガクの学習スタイルはオンラインによるハンズオン形式の動画学習。Pythonや数学の基礎から環境構築、そしてAIを搭載したWebアプリケーション開発までを『最短最速』で学べる環境が整っています。

エラーなどでつまづいてもチャットを使っていつでも質問可能で、定期的な個別メンタリングも実施されているので、挫折することなく学習を進めることができます。また、チーム学習で同期生とコミュニケーションをとりながら学習することもできるため、一緒に学ぶことでモチベーションも維持できるメリットがあります。

→ キカガクの詳細はこちら

Aidemy(アイデミー)

Aidemy(アイデミー)の公式サイトへ
出典:Aidemy(アイデミー)公式サイト

Aidemy(アイデミー)は、3カ月でAI人材になることを目的としているプログラミングスクールです。オンラインに特化しており、時間や場所にとらわれることなく勉強することができます。また、厚生労働省が指定する教育訓練給付制度を利用できる可能性があります。そのため、基準を満たせば、給付金をもらうことができ、割安で受講が可能です。

講師とマンツーマンで学習できるため、未経験の方でも充分にスキルを身に付けることができます。

コースには「AIアプリ開発講座」「データ分析講座」「自然言語処理講座」「AI マーケティング講座」の主に4つがあり、自分の目的に合わせてコースを選ぶことが重要です。また、Aidemyには「選び放題システム」が用意されており、人それぞれに合わせて講座をカスタマイズできるのも特徴です。

Aidemy Premium Planでは、Pythonのプログラミング言語を用いて、実務に役立つ本格的なスキルを身に付けることができます。そのため、Pythonを学んでエンジニアとして活躍したい方に、Aidemyはおすすめです。

Aidemyではオンラインによる個別相談が利用できるため、興味がある方はぜひ活用してみましょう。

→ Aidemy(アイデミー)の詳細はこちら

もっと詳しく比較したい方は、「Pythonが学べるおすすめプログラミングスクール11選!未経験・学生もOK!」という記事を参考にしてください。通学・オンライン、マンツーマンやオーダーメイドカリキュラムなど、目的に”ぴったり”の教室が見つかりますよ!

Pythonが学べるおすすめプログラミングスクール11選!未経験・学生もOK!

Pythonでデスクトップアプリを簡単に作る方法【まとめ】

Pythonでデスクトップアプリを作成する場合のライブラリ選択肢をご紹介しました。また実行ファイルが必要となった場合のライブラリと、簡単な操作についてもご紹介しました。手軽なPythonで、手軽にデスクトップアプリを生成してみましょう。

もう一度「初心者向け!Pythonでデスクトップアプリを簡単に作る方法!おすすめライブラリも紹介」を読む ↑

Pythonを活かせるエンジニア転職におすすめな転職サイト・転職エージェント

Pythonやdjangoを活かしたエンジニア転職におすすめな転職エージェント・転職サイトを比較するなら「エンジニアにおすすめ!IT/Web系に強い転職サイト11選|現役プロが比較・ランキング」という記事を参考にしてください。活かせる言語や業種など、自分の目的や条件にあった職場探しにお役立てください。

エンジニアにおすすめ!IT/Web系に強い転職サイト11選|現役プロが比較・ランキング

Python以外の言語を学べるスクールを比較するなら

もっと多くのプログラミングスクールの中から比較したいという方は、「おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!」という記事を参考にしてください。

おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!

転職付き(転職保証型)のプログラミングスクールの詳細を知りたいかたは、「【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの就職に強い!」をご覧いただき、自分の目標や目的にぴったりのスクールを見つけてくださいね。

【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの就職に強い!

[広告・PR]:AI人材を未経験から3ヶ月で目指すならここ!

Aidemy(アイデミー)なら給付金制度が利用できる!

-プログラミング
-, , , , , , ,

関連記事

プログラミング初心者向け「Kotlin」の基礎知識!

プログラミング初心者向け「Kotlin」の基礎知識!未経験からの勉強方法や就職・転職についても徹底解説!

ロゴ画像:Wikimedia Commonsより https://commons.wikimedia.org/wiki/File:Kotlin-logo.svg Kotlinとはどんな言語だろう 未経 …

Python初心者向け!まずはこれだけ練習すれば大丈夫。学習・勉強法を解説!

Python初心者向け!まずはこれだけ練習すれば大丈夫。学習・勉強法を解説!

ロゴ画像:公式サイトより https://www.python.org/community/logos/ 現役エンジニアである私(筆者)は仕事でPythonを使用する機会が多く、まずは私が経験したPy …

【初心者必読】Python初心者の人でも作れるものをご紹介!

【初心者向け】Pythonで作れるものや出来ることを徹底解説+スクールの紹介も!

ロゴ画像:公式サイトより https://www.python.org/community/logos/ 近年では機械学習や業務の自動化・効率化といったホットなワードによってIT業界ではPythonが …

Swift(スウィフト)とは?特徴や難易度、仕事内容や将来性などを解説!

Swift(スウィフト)とは?特徴や難易度、仕事内容や将来性などを解説【初心者向け】

ロゴ画像引用元:https://developer.apple.com/jp/swift/resources/ 現役エンジニアが新たに習得したいプログラミング言語の候補として、Swiftを考えている方 …

Vue.jsのイメージ画像

Vue.js入門!初心者におすすめな理由や学習法をわかりやすく解説!

ロゴ画像引用元:https://github.com/vuejs/art 皆さんはVue.jsというフレームワークをご存知でしょうか。 Vue.jsはフロントエンジニアの界隈で人気急上昇中のJavaS …

[PR]:
お得なキャンペーン中!!

転ストの中の人

  • 運営者のstaff H
  • 運営者のstaff M

エンジニア歴15年のstaffHとWebデザイナー・ディレクター歴20年のstaffMの2名が中心となりこのサイトを運営しています。転職/就職やフリーランスへの転向、未経験からのプログラミング学習など、これから”新しい一歩を踏み出そうとしている、エンジニア・クリエイター”に役立つ情報を発信しています。

プロフィール詳細 / Twitter
[PR]: