[Python]Pyinstallerよりも高速で軽量!python環境なしで使えるembeddable pythonを使ってみた

[Python]Pyinstallerよりも高速で軽量!python環境なしで使えるembeddable pythonを使ってみた

こんにちは。
Pythonの配布方法についていろいろ調べていたら、
Pyinstallerとは違ったものがありましたので紹介します。

先に言うと、Pyinstallerよりも軽量で高速です。
しかし準備がPyinstallerよりもめんどくさいです。

最初だけの手間を惜しむか、Pyinstallerの遅い起動を苦しむか。
私は断然前者を取ります。

結局ユーザビリティを考えたプログラムにしないと、プログラマー失格なような気がします。
Test環境などであれば全然Pyinstallerでもありだと思います。
要はケースバイケースですね。

ダウンロード

https://www.python.org/downloads/windows/

上記URLからembeddable pythonをダウンロードしてきます。
python3.7.4

私の取得時の最新バージョンは3.9でした。
今回はバージョン3.7.4でやります。
バージョンの違いによっては結構バグがあるみたいなので、エラーを吐いた際はバージョンをしっかり確認しましょう。

ダウンロードしてきたZipファイルを任意のフォルダに解答してください。
もうすでにpythonとしては扱える状態となっています。

python実行形式

python.exeをダブルクリックして試してみましょう。

python実行

外部モジュールをインストールできるようにする

初期状態ではpipは使えません。
なので、get-pip.pyを取得する必要があります。

まずは、下準備でpython37._ptnの中身を修正します。

へ変更してください。

python37._ptn

python37._ptn変更

続いて、get-pip.pyを取得します。
下記URLからダウンロードしてください。

https://bootstrap.pypa.io/get-pip.py

ダウンロードしたget-pip.pyをpython-3.7.4-embed-amd64(解凍したフォルダ)へ入れ込む。


格納したらget-pip.pyを実行

get-pip.pyの実行

これでpipの準備は整いました。

では外部モジュールをインストールしてみましょう。
試しにnumpyをインストールしてみたいと思います。

ここで注意事項ですが、embeddable pythonの場合、pipを直接叩く時Scriptsフォルダからコマンドをたたきます。

C:\任意のフォルダ\python-3.7.4-embed-amd64\Scripts

Scriptsフォルダ

 

python.exeからインストールする場合:

試してみる

事前にwxpythonをインストールしておく。

以下のPythonファイルで試したいと思います。
test.pyとしてpython-3.7.4-embed-amd64フォルダに保存します。
(Python.exeと同じ階層)

続いてコマンドプロンプトのコマンドを作っておきます。
以下のコードをtest.cmdとして保存してください。

test.cmd

いざ実行

test.cmdをダブルクリックで実行してみましょう。

実行結果

以上のような出力結果が出せましたでしょうか?
ちなみにpythonをインストールしていないパソコンでも試しましたが、
無事に同じ結果が出力されましたので安心してください。

まとめ

かなり動作が軽いのでPyinstallerよりも扱いやすいです。
下準備は中々大変ですが、後のことを考えると覚えておいて損はないと思います。

最初はプレリリース版を使っていたのですが、全然だめで諦めてバージョンを下げてやりました。

Pythonカテゴリの最新記事