1
3

More than 1 year has passed since last update.

オフライン環境に Embeddable Python環境を構築する(get-pip.py を使わずに)

Posted at

Pythonプログラムを配布するにあたり、インターネットに接続できない かつ PythonをインストールできないWindows環境で使用するには、Windows embeddable package を使用します。
しかし、Windows embeddable package には pip が同梱しておらず、pip をインストールするために インターネット環境で get-pip.py を入手・実行する手順しか見当たりませんでした。

そこで(正しいか不明ですが)、完全オフラインでEmbeddable Python環境を構築する手順を公開します。

インターネット環境でやること

cmd.exe
curl -o python3.10.11.zip https://www.python.org/ftp/python/3.10.11/python-3.10.11-embed-amd64.zip
curl -o pip-23.0.1-py3-none-any.whl https://files.pythonhosted.org/packages/07/51/2c0959c5adf988c44d9e1e0d940f5b074516ecc87e96b1af25f59de9ba38/pip-23.0.1-py3-none-any.whl

オフライン環境でやること

  • Windows embeddable package を解凍
  • current.pthを作成、python〇〇._pthを編集
  • pip-xxxx.whl を解凍し、pipフォルダをカレントフォルダに配備
  • python〇〇/python -m pip install pip --upgrade --no-index pip-xxxx.whl で pip をインストール
cmd.exe
rem 解凍コマンドとして 7z.exe にパスが通っているものとする。
dir /b
  pip-23.0.1-py3-none-any.whl
  python3.10.11.zip

7z x python3.10.11.zip -opython3.10.11
7z x pip-23.0.1-py3-none-any.whl -i!pip/
echo import sys; sys.path.append('')> python3.10.11\current.pth
echo import site>> python3.10.11\python310._pth
python3.10.11\python -m pip install --force --upgrade --no-index --no-warn-script-location pip-23.0.1-py3-none-any.whl

以上でオフライン環境下で Embeddable Python に pip が導入されます。
必要なモジュールは --no-index をつけてあげれば、オフライン環境でも入れ放題。
インストールもしていないので、Pythonフォルダごと持ち運んだりバッサリ捨てたりできます。

enjoy!

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3