ユーザ用ツール

サイト用ツール


software:python

共有可能な Python の実行環境

Python で作成したツールをチーム内で共有する場合、コンパクトな Python 実行環境をセットにしておくと便利です。

また複数台の PC を開発に使用している場合も、それぞれの PC でインストーラーを使って Python をインストールしておくのはなかなか大変です。 簡単にコピーして共有可能な、ポータブルな Python 実行環境の作り方を解説します。

A. 通常の Python をそのまま使用する場合

  1. 公式サイトからダウンロードできる Windows の通常の python インストーラーを使います
    • 例: python-3.9.9-amd64.exe
      • バージョンは解説作成時のものなので最新のものを選んでください
  2. 「Install launcher for all users (recommended)」のチェックを外します (←非常に重要!!)
    • このチェックが入っていると dll ファイルが C:\Windows 以下にインストールされてしまいます。必ず外しておいてください
  3. 「Customize installation」を選びます
  4. 「Documentation」「Python test suite」「py launcher」「for all users」のチェックを外します
    • tkinter による GUI が不要な場合は「tcl/tk and IDLE」のチェックも外すことができます
    • 「pip」のチェックは入れておいてください
  5. インストール先を選択します
    • 説明のため、インストール先を D:\Python39 としておきます
  6. あとはそのまま install します
  7. インストールが完了したら、コマンドラインから pip3 コマンドを使って任意の package を追加します
    • 例: pip3 install numpy
    • もしパスが通っておらず pip3 コマンドを実行できない場合は、D:\Python39\Scripts をパスに追加しておいてください

これでポータブルな Python フォルダが出来上がったので、例で作成した D:\Python39 フォルダをそのまま別の PC にコピーして使うことができます。 パスは D:\Python39 と D:\Python39\Scripts の二箇所通しておけば OK です。

なお __pycache__ フォルダや *.pyc のファイルは不要なので、共有時は除外しておくことをおすすめします。

この方法は簡単に準備できますが、必要なファイル数が 4000以上と非常に多くなります。 ファイル数が多いとコピーや同期に時間がかかるため、よりコンパクトな環境を作成したい場合は組み込み版 Python を使うことができます。

B. 組み込み向け Python を使用する方法

  1. 先に A. の手順を参考にして通常の Python をインストールしておいてださい。
  2. 公式サイトから A. でインストールした Python と全く同じバージョンの embeddable package をダウンロードしてください
    • 「Windows embeddable package (64-bit)」と書かれています
    • 例えば Python 3.9.9 なら、ダウンロードしたファイルは python-3.9.9-embed-amd64.zip になります
      • 必ず A. でインストールした通常版の Python と同一のバージョンを選択してください
  3. ダウンロードしたファイルを展開してください
    • 解説のため、展開したフォルダを D:/Python39emb にしておきます
  4. フォルダの中にある python39._pth ファイルを編集します
    • 以下のように、最後に 2行「.」と「import site」を追加してください
    • python39.zip
      .
      Lib
      import site
  5. 展開したフォルダの中に Lib\site-packages フォルダを作っておきます
    • D:\Python39emb\Lib\site-packages
  6. A. でインストールした通常版 Python のフォルダから、pip module をコピーします
    • D:\Python39\Lib\site-packages の中に pip で始まるフォルダが 2つあるので、それを組み込み版 Python の D:\Python39emb\Lib\site-packages\ 以下にそのままコピーしてください
  7. これで組み込み版 python でも pip コマンドが使えるようになったので、任意の package を追加することができます
    • pip.exe (pip3.exe) は存在しないので、python.exe に「-m pip」を指定して実行します
    • D:\Python39emb\python.exe -m pip install numpy
      D:\Python39emb\python.exe -m pip list
  8. もし組み込み版 Python でも tkinter による GUI を利用したい場合は、以下のように必要なファイルをコピーしておいてください (tkinter による GUI が不要なら飛ばしてください)
    • D:\Python39\Lib\tkinter\* を D:\Python39emb\Lib\ 以下にコピー
    • D:\Python39\tcl\* を D:\Python39emb\ 直下にコピー
    • D:\Python39\DLLs\_tkinter.pyd を D:\Python39emb\ 直下にコピー
    • D:\Python39\DLLs\tcl86t.dll を D:\Python39emb\ 直下にコピー
    • D:\Python39\DLLs\tk86t.dll を D:\Python39emb\ 直下にコピー
  9. これで組み込み版 Python をそのまま利用できるようになります
    • 通常版 Python と違いファイル数が圧倒的に少なく、圧縮されているため消費容量も抑えることができます

pip module をコピーするかわりに、通常版 Python から必要な module だけコピーすることもできます。 この場合 pip module が不要になります。

software/python.txt · 最終更新: 2023/06/02 22:42 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki