開発ツール

「Python」のアプリ配布問題の解決を目指すツール「PyOxidizer」

「PyOxidizer」は、「Python」のコードを単一の実行ファイルに変換して、「Windows」や「macOS」、Linuxで実行できるようにするために設計されたユーティリティーだ。

 プログラミング言語「Python」は開発者の間で高い人気があるかもしれないが、Pythonアプリを平均的なコンピューターユーザーと共有するのは、今も容易ではない。

 Pythonアプリを簡単にパッケージ化できないという問題は、同言語の未来に対する脅威である、とBeeWareの共同創設者のRussell Keith-Magee氏は2019年の「Python Language Summit」で指摘した。

 「どうすればプログラマーではない友人に自分のコードを渡せるのか、という基本的な質問に対する明確な答えがないのに、どうしてPythonを学ぼうなどという気持ちになるだろうか」とKeith-Magee氏は述べる

 Mozillaの開発者であるGregory Szorc氏は、もっと簡単にアプリを共有して、あらゆるデスクトップPCで利用できるようにするため、無料のユーティリティー「PyOxidizer」をリリースした。PyOxidizerは、Pythonのコードを単一の実行ファイルに変換して、「Windows」や「macOS」、Linuxで実行できるようにするために設計された。

 適切なソフトウェアライブラリーをダウンロードしなくてもアプリは動作するのか、ということに平均的なユーザーが頭を悩ませなければならない状況は好ましくない、とSzorc氏は話す。

 同氏は、「ほとんどのエンドユーザーは技術的な実装に関心がない。彼らが望むのは、作業を処理することだけだ」と述べ、Pythonのアプリ配布問題について、「存続に関わる脅威」と表現した。

 「ターゲットユーザーがPythonの開発者でないのなら、Pythonアプリケーションを使用するのに、PythonのパッケージングやPython自体、さらには、Pythonの存在についても知っている必要はないはずだ」

 PyOxidizerによって生成された実行ファイルには、すべての機能を備えたPythonインタプリター、その拡張機能、標準ライブラリー、アプリケーションのモジュールおよびリソースが含まれる。OS固有の依存関係をできるだけ少なくした、とSzorc氏は話す。

 「Linuxでは、完全に静的にリンクされた実行ファイルを構築することができる。この実行ファイルは、『chroot』またはコンテナーにドロップすることが可能で、そこでは唯一のファイルであり、当たり前のように機能する。macOSやWindowsでは、ライブラリー依存関係は常時存在するライブラリーや極めて一般的なライブラリーに関するものだけだ」

 今回の最初のPyOxidizerリリースは、絶対必要な機能に焦点を当てているが、「Pythonのアプリケーション配布問題」の解決には「程遠い」ことをSzorc氏は強調している。

 同氏は、「今回のリリースでは、PyOxidizerはPythonを組み込んだ実行ファイルをうまく作成できる。この問題の配付に関する部分にはまだそれほど対処していない(MSIインストーラーやDMGイメージ、deb/rpmパッケージなどの作成について、大騒ぎしたくない)」と述べ、モバイルプラットフォームへのアプリ配布の問題を解決することも今後の目標である、と言い添えた。

 Szorc氏によると、PyOxidizerは現在も開発中であるにもかかわらず、PyOxidizerの実行ファイルはPythonの実行ファイルよりも速く起動し、「PyInstaller」や「py2exe」といったほかのPythonパッケージ化および配布ツールのいくつかの欠点にも対処できるはずだという。

 Dropboxや「Kodi」などの大規模なPythonアプリケーションは、PyOxidizerを使用して自己完結型の実行ファイルを作成することで、小型化と簡素化を実現できるかもしれない、と同氏は主張している。

 Szorc氏は、「自己完結型で単一ファイルのPythonアプリケーションのサポートを有効にすることで、PyOxidizerはPythonに刺激的で新しい扉を開く」と述べ、例として、最初にPythonインタプリターをリモートコンピューターにインストールしなくても、ITオーケストレーションソフトウェアの「Ansible」を使用して、それらのマシンを設定できることを紹介した。

 最後に、Szorc氏は、「Pythonアプリケーションメンテナーによる最小限の認識努力だけで普通に機能するPythonアプリケーションのパッケージ化および配布体験が、PyOxidizerによって提供されることを望んでいる」と述べた。

 PyOxidizerに興味のある人は、こちらのドキュメンテーションを参照してほしい。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

「開発ツール」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
新興技術
ITインフラ
クラウドサービス
OS・ミドルウェア
開発
開発ツール
開発支援
ノンプログラミング開発ツール
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. マンガでわかる「ルール駆動開発」レガシーモダナイズを成功させる開発手法を基礎から理解する
  2. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  3. APIエコシステムを狙うサイバー攻撃が急増、Webアプリにおける最新のAPIセキュリティ対策とは?
  4. クラウドやコンテナ利用が増える中、世界の企業が利用するAPI経由の安全なアプリ構築手法とは?
  5. ウェビナーによる営業活動が本格化、顧客接点が増加する一方で見えてきたハードルと解決策とは?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]