【pywebview】Windowsへのインストール

【pywebview】Windowsへのインストール プログラミング

「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.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年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の使い方については、次の記事でまとめています。

タイトルとURLをコピーしました