Python embeddable packageを使って、Pythonの環境がない人にもインストール不要でPython環境と実行環境を提供する方法を画像付きで紹介します。
はじめに
Python embeddable packageは、公式で配布されているインストール不要(スタンドアロン版)なPythonです。
これをパッケージとして一括配布することにより、Python環境が構築されていないパソコンなどでも、Pythonを新たにインストールすることなく、Pythonプログラムの実行が可能となります。
Pythonとは
Pythonは、Guido van Rossum氏によって1989年に設計され、1991年に公開されました。
設計哲学として、読みやすさと明確さを重視している点があります。これはPythonの標準的なコードスタイルガイドライン、PEP 8、として明示されています。
Pythonは動的型付けとガベージコレクションを持つインタープリタ型言語で、大規模な標準ライブラリを持っています。Pythonの構文とセマンティクスは多くのプログラマーにとって直感的であり、その結果、Pythonは初学者にとって学びやすい言語とされています。
Pythonは、Web開発、データ分析、AI、機械学習、自然言語処理などの多くの領域で使われています。また、スクリプティングとオートメーションのためのツールとしても非常に便利です。
Pythonはオープンソースで、アクティブなコミュニティによって開発と保守が行われています。また、Pythonのライブラリとフレームワークのエコシステムは非常に広範で、科学計算、Web開発、データベースインターフェース、GUI開発、ゲーム開発、ネットワーキング、セキュリティ、システム管理など、さまざまな目的のためのツールが提供されています。
Python embeddable packageとは
いわゆるポータブル版のPythonとなります。
パソコンにPythonのインストールが行われることなく、Pythonを使うためのものです。Python本体のほかに、モジュールをインストールすることも可能であり、モジュールも外に持ち出すことが可能です。そのため、実行先のパソコンは環境を一切汚さずにPythonプログラムを実行することができます。
なお、Python embeddable packageはWindows版のみ公式で配布されており、その他のOS版は公式からは本記事作成時点(2023/7)では配布されていませんので注意してください。
Windowsでの他の実行方法
Windowsの場合、pyinstallerなどで実行ファイル(exe)にしてしまえば、Pythonがインストールされていないほかの環境でも実行可能です。
この場合、Pythonソースを変更すると、都度exeファイルに変換する作業が必要になり、頻繁にソースが更新される場合は手間がかかります。
ダウンロード方法
公式サイトにアクセスします。
バージョンとCPUの種類により、相手先に配布するためのものをダウンロードします。今回は64bitをダウンロードします。
![](https://prtn-life.com/wp-content/uploads/2023/07/1-8-750x495.png)
ダウンロードしたzipファイルを解凍します。
解凍すると、python.exeと他に.pydファイルとpython〇.zip(〇はバージョン番号)などがあります。
![](https://prtn-life.com/wp-content/uploads/2023/07/2-7-750x523.png)
解凍したフォルダをわかりやすい名前に編集します。今回は「python」という名前にします。
![](https://prtn-life.com/wp-content/uploads/2023/07/3-5-686x563.png)
また、今後配布などを行いやすいようフォルダ構成を以下のように変更しておきます。
emb_python
┣python
┗src
![](https://prtn-life.com/wp-content/uploads/2023/07/4-6-685x563.png)
pythonフォルダの上にさらにフォルダが「emb_python」ということです。
また、ソースを入れるようにpythonフォルダと同じ階層に「src」フォルダを作っておきます。
![](https://prtn-life.com/wp-content/uploads/2023/07/5-5-750x523.png)
Python embeddable packageの使い方
コマンドプロンプトを起動し、python.exeがあるフォルダに移動します。
以下のコマンドを入力します。
python.exe 動かしたいpyファイル名
実際にデータを作成して実行してみます。
先ほど作成した「src」フォルダの中に「main.py」を作成し、以下の内容を記述します。
print("Python embeddable packageのテスト")
文字コードはUTF-8として保存します。
![](https://prtn-life.com/wp-content/uploads/2023/07/6-4-750x523.png)
コマンドプロンプトを起動して、上記のpython.exeがあるフォルダまで移動します。
![](https://prtn-life.com/wp-content/uploads/2023/07/7-5.png)
上の階層にあるsrcフォルダのmain.pyを起動ファイルとして指定したいので、以下のコマンドを入力して、起動します。
python.exe ../src/main.py
コマンドを入力して起動すると、pythonファイルが起動してコマンドが出力されます。
![](https://prtn-life.com/wp-content/uploads/2023/07/8-3.png)
モジュールのインストールが必要ないPythonファイルの場合はこの状態で利用することができます。
main.pyファイルの中身が文字コードUTF-8でない場合は、ソースコード内で日本語を使っているとうまく動作しません。
![](https://prtn-life.com/wp-content/uploads/2023/07/9-3-750x152.png)
次に、「main.py」を以下のような記載に変更します。
import pandas as pd
print("Python embeddable packageのテスト")
pd_data = pd.Series([1,2,3,4,5])
print(pd_data)
先ほどと同じような手順でpythonファイルを実行すると、モジュールがインストールされてない旨が出て失敗します。
![](https://prtn-life.com/wp-content/uploads/2023/07/10-3.png)
モジュールインストールが不要な簡単なpythonファイルであればこれまでのもので十分ですが、そんなpythonファイルばかりでもないと思います。そこで、以降でモジュールをインストールできる手順を紹介します。
モジュールのインストール
事前準備
python.exeが入っているフォルダ内にあるpython〇〇〇._pth(〇〇〇はバージョン番号)をテキストエディタなどで開き、以下の項目を変更し保存します。
![](https://prtn-life.com/wp-content/uploads/2023/07/11-3-750x523.png)
#import site
↓
import site
次に、pipをインストールするためのサイトにアクセスし、「get-pip.py」をダウンロードします。
ダウンロードは「右クリック」→「名前を付けてリンク先を保存」で可能です。
![](https://prtn-life.com/wp-content/uploads/2023/07/12-2.png)
保存した「get-pip.py」をpython.exeがあるフォルダと同じ階層に入れます。
![](https://prtn-life.com/wp-content/uploads/2023/07/13-14-750x523.png)
pipをインストールする
コマンドプロンプトを開き、python.exeがあるフォルダに移動します。
移動後に以下のコマンドを実行します。「Successfully installed pip-…」とでればOKです。
python.exe get-pip.py
![](https://prtn-life.com/wp-content/uploads/2023/07/14-2-750x309.png)
モジュールをインストールする
以降は、pipを用いてモジュールをインストールします。python.exeがある場所で以下のコマンドを実行します。
python.exe -m pip install モジュール名
先ほどのソースが動くようにpandasをインストールする場合は、以下のコマンドを入力します。
python.exe -m pip install pandas
![](https://prtn-life.com/wp-content/uploads/2023/07/15-2-750x349.png)
実際に先ほどのmain.pyを実行すると以下のようになります。
今回はエラーが出ずに、実行することができました。
![](https://prtn-life.com/wp-content/uploads/2023/07/16-2.png)
まとめ
Python embeddable packageを使って、Pythonの環境がない人にもインストール不要でPython環境と実行環境を提供する方法を画像付きで紹介しました。
自分と同じ環境を他者に配布する際などに便利な機能ですので、ぜひ参考にしていただければと思います。
コメント