Python プログラミング 業務効率化

【一強】Pythonで作ったツールを配布するならWinPythonを使うべし

悩める人

業務効率化のためにPythonでツールを作ったけど、同じ部署の人にも使ってもらいたいな・・・

具体的にどうしたら良いか知りたいな・・・

業務効率化のためにPython環境を構築して自動化をどんどん進めている方も多くなってきました。

そこで、同じ業務を行っている方にもツールを使ってもらいたいという考えに行き着くのではないでしょうか。

部署全体で業務効率化し生産性も上がりそうです。

具体的にどのような方法で他者に配布したら良いかを詳しく解説していきます。

まず考え方です。

Pythonファイルを実行するにはPythonをインストールする必要がありますが、フォルダに実行環境を全て入れてしまえばわざわざインストールする必要がありません。

実行環境を入れたフォルダをローカルで作成し、そのままそのフォルダをコピーしてもらえば他のPCで問題なく動くわけです。

具体的な手順は次のとおりです。

環境構築手順
  1. WinPythonのダウンロード
  2. ダウンロードファイルを実行して任意のフォルダへ展開
  3. WinPython Command Prompt.exeを実行し、pipで必要なライブラリをインストールする
  4. batファイルを作成して実行する
  5. チームメンバーに配布する

1から解説していきます。

多くのサイトがPyInstallerを使って環境をexe化する方法を推奨していますが、一つ一つのexeの中に実行環境が入るのでexeのファイルサイズが大きくなって重たいです。

私が推奨するのはWinPythonというWindows限定ですがフォルダ内に環境を全て入れておくことができ、持ち運びにも便利とうたわれているものです。

WinPythonのダウンロード

こちらのリンクからダウンロードサイトにアクセスします。

2023年9月現在で安定環境の「3.11.4.0」を選択し、「Winpython64-3.11.4.0dot.exe」をダウンロードします。

ダウンロードファイルを実行して任意のフォルダへ展開

ダウンロードしたexeを実行して任意のフォルダへ展開します。

例として、「C:\winpython_dot」とします。

C:\winpython_dot\WPy64-31140 というフォルダ内にPythonの実行環境が入っています。

WinPython Command Prompt.exeを実行し、pipで必要なライブラリをインストールする

C:\winpython_dot\WPy64-31140\WinPython Command Prompt.exe を実行し、そのファオルダ内のPython環境にpipコマンドで必要なライブラリをインストールしましょう。

pip listでインストールされているライブラリをまずは確認します。

C:\winpython_dot\WPy64-31140\scripts>pip list
Package            Version
------------------ ------------
certifi            2023.7.22
charset-normalizer 3.2.0
duckdb             0.8.1
idna               3.4
msvc-runtime       14.34.31931
packaging          23.1
pip                23.1.2
python-dotenv      1.0.0
requests           2.31.0
setuptools         67.7.2
sqlite-bro         0.12.2
urllib3            2.0.4
webdriver-manager  4.0.0
wheel              0.40.0
winpython          6.4.20230625

[notice] A new release of pip is available: 23.1.2 -> 23.2.1
[notice] To update, run: python.exe -m pip install --upgrade pip

今後必要なライブラリはWinPython Command Prompt.exeを起動し、pip installすることになります。

まさにフォルダ内の閉鎖的なPython環境を作り上げていく感じです。

batファイルを作成して実行する

例えばC:\PythonTools\testというフォルダのmain.pyを、作成したPython環境で実行したい場合、次のようなbatファイルを作成します。

@echo off

cd /d C:\PythonTools\test
C:\winpython_dot\WPy64-31140\python-3.11.4.amd64\python.exe main.py

Pythonフォルダのpython.exeを使用してmain.pyを実行します。

実際の処理を記述したpyファイルがローカル内のどこにあっても、このように記述すれば問題ありません。

チームメンバーに配布する

先述の例でいえば、実行させたい処理が書かれたpyファイルを置いてある「C:\PythonTools\test」フォルダと、Python環境フォルダである「C:\winpython_dot」をメンバーに配布すれば良いです。

同一のディレクトリにコピーする必要はありますが、チームメンバーのPCにPythonがインストールされていなくても、特に何も設定することなくツールを配布できます。

自分が作ったPythonの便利ツールをぜひチームメンバーにも共有していただき、チーム内の業務効率化を目指してみてはいかがでしょうか。

  • この記事を書いた人

きんぎょ

零細SIerに就職したがプライム市場のベンチャーに転職した30代男性です。 一児の父となり、家事をしまくっています。 現在運用チームでサーバやインフラ周りに格闘しています。 趣味、資格など一部のカテゴリにハマらず自由に役立つ情報を発信していけたらと思います。

-Python, プログラミング, 業務効率化
-,