「PythonアプリをWebのスキルで開発したい」
「PythonでGUIアプリを開発したい」
「pywebviewをWindowsにインストールしたい」
このような場合には、この記事の内容が参考となります。
この記事では、pywebviewをWindowsにインストールする方法を解説しています。
本記事の内容
- pywebviewとは?
- pywebviewのシステム要件(Windows環境)
- pywebviewのインストール(Windows環境)
- pywebviewの動作確認(Windows環境)
それでは、上記に沿って解説していきます。
pywebviewとは?
pywebviewについては、次の記事で詳しく解説しています。
pywebviewを一言で言うと、Pythonアプリ開発の革命です。
革命は言い過ぎかもしれませんが、Webエンジニアには朗報でしょう。
Webスキルでデスクトップアプリが開発できるのは、デカイです。
それにGUIのデザイン的にも、大きな前進と言えるでしょう。
これで、ダサいGUIとはサヨナラできます。
ただ、pywebviewのインストールが若干複雑です。
Windowsは他のOSよりも、さらに複雑と言えるかもしれません。
インストール自体はコマンド一発です。
しかし、そのシステム要件をクリアすることが最も重要となります。
以下では、Windowsにおけるpywebviewのシステム要件を確認します。
pywebviewのシステム要件(Windows環境)
現時点(2022年2月)でのpywebviewの最新バージョンは、3.5となります。
この最新バージョンは、2021年8月2日にリリースされています。
Windowsにpywebviewをインストールするには、次の点に注意しましょう。
- Pythonバージョン
- Chromium
- .NET Framework
それぞれを以下で説明します。
Pythonバージョン
サポート対象となるPythonのバージョンは、以下となっています。
- Python 3.4
- Python 3.5
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
Windowsでは、Pythonバージョンが重要です。
上記のサポート対象以外では、インストールが失敗します。
Python 3.10.2で試したところ、インストール失敗しました。
Linuxでは、Python 3.10.2でも問題なかったのですけどね。
ということで、Windowsではちゃんとサポート対象に従いましょう。
ただし、次のPython公式開発サイクルは考慮します。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
上記を加味すると、次のバージョンが妥当と言えます。
- Python 3.7
- Python 3.8
- Python 3.9
Windowsへpywebviewをインストールする際は、上記バージョンのPythonを使いましょう。
Chromium
Windowsでは、Chromiumベースでpywebviewが動きます。
そのため、Chromiumのインストールは必須です。
Chromiumとか言っていますが、Chromeだと思えばよいでしょう。
よって、ChromeがインストールされていればOKです。
Windowsの場合、Chromeは基本的に自動更新されます。
そのため、バージョンについては特に意識する必要はありません。
とりあえず、最新であることを確認しておきましょう。
PowerShellでChromeのバージョンを確認することも可能です。
次のコマンドを利用します。
(get-item ($env:SystemDrive + "\Program Files (x86)\Google\Chrome\Application\chrome.exe")).VersionInfo.FileVersion
実際に実行した結果は、以下。
> (get-item ($env:SystemDrive + "\Program Files (x86)\Google\Chrome\Application\chrome.exe")).VersionInfo.FileVersion 98.0.4758.82
.NET Framework
pywebviewは、pythonnetに依存しています。
pythonnetは、Pythonと.NET共通言語ランタイムが会話するのに必要です。
そのpythonnetをインストールするためには、.NET Frameworkが必須です。
かつ、.NET Frameworkのバージョンは4.0より大きい必要があります。
おそらく、利用中のWindowsには.NET Frameworkがインストール済みのはずです。
インストールがまだの場合は、この機会に.NET Frameworkをインストールしましょう。
.NET Frameworkがインストール済みの場合は、そのバージョンを確認します。
ピンポイントでバージョンを確認する方法は、少々面倒です。
レジストリの値を確認したりします。
それはちょっと面倒なので、簡易的な方法を用います。
次のコマンドでは、.NET Framework 4.6.2以降がインストールされているかどうかを判断します。
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -ge 394802
PowerShellを起動します。
上記コマンドを実行したのが、次の結果です。
> (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -ge 394802 True
.NET Framework 4.6.2以降であることが確認できました。
よって、pythonnetのインストールも問題ないはずです。
まとめ
pywebviewは、クロスプラットフォーム対応です。
しかし、OS毎にかなりシステム要件が異なります。
Pythonのバージョンにも制約があるのは、かなり驚きです。
通常は、上位のバージョン(この場合はPython 3.10)では動きます。
しかし、厳密にサポートバージョンに従わないといけません。
おそらく、pythonnetなど依存関係のあるパッケージが原因なのでしょう。
以上、Windowsにおけるpywebviewのシステム要件を説明しました。
次は、Windowsへpywebviewをインストールします。
pywebviewのインストール(Windows環境)
検証は、次のバージョンのPythonで行います。
> python -V Python 3.8.6
まずは、現状のインストール済みパッケージを確認しておきます。
> pip list Package Version ---------- ------- pip 22.0.3 setuptools 60.9.0 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、pywebviewのインストールです。
Windowsへのpywebviewのインストールは、以下のコマンドとなります。
pip install pywebview[cef]
インストールは、それほど時間がかかりません。
終了したら、どんなパッケージがインストールされたのかを確認します。
> pip list Package Version ----------- ------- cefpython3 66.1 pip 22.0.3 proxy-tools 0.1.0 pycparser 2.21 pythonnet 2.5.2 pywebview 3.5 setuptools 60.9.0 wheel 0.36.2
WindowsとLinux(macOS)では、依存するパッケージが異なります。
pywebviewとproxy-toolsだけは共通しています。
以上、Windowsへのpywebviewのインストールを説明しました。
次は、Windowsにおけるpywebviewの動作確認を行います。
pywebviewの動作確認(Windows環境)
動作確認には、以下のコードを利用します。
import webview webview.create_window('Hello world', 'https://pywebview.flowrl.com/') webview.start()
上記コードを実行すると、次の画面が表示されます。
この画面が確認できれば、Windowsにおけるpywebviewの動作確認は成功です。
以上、Windowsにおけるpywebviewの動作確認を説明しました。
pywebviewの使い方については、次の記事でまとめています。