🐍

Embeddable Pythonでpipを使用できるようにする

2023/08/04に公開

Embeddable Pythonのセットアップ

1.Embeddable Pythonの入手

Python Releases for WindowsからEmbeddable Pythonをダウンロードします。(例としてpython-3.10.11-embed-win32をダウンロードします。)

2. ファイルの展開

任意の場所にダウンロードしてきたzipファイルを展開します。

3. pipのインストール

展開したディレクトリ(/python-3.10.11-embed-win32)でコマンドプロンプトまたはPowerShellを開きます。
ディレクトリ内のpython310._pthをテキストエディタで開き、コメントアウトを修正します。

修正前
#import site
修正後
import site

get-pip.pyからget-pip.pyをダウンロードします。
curlをインストールしている場合は、以下のコマンドでダウンロードが可能です。(curlをインストールする場合は、powershellでwinget install curl.curlを実行します。)

curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py

get-pip.pyをpython.exeにドラッグアンドドロップするか、以下のコマンドを実行します。

./python.exe get-pip.py

インストールされた場所にパスが通っていないという旨の警告が出ますが、無視して大丈夫です。
LibとScriptsの2つのディレクトリが作成されたらpipのインストールは完了です。

4. pipの動作確認

pipの動作確認のために以下のコマンドを実行します。
pythonとpipのパスを指定している理由は、すでに私の環境でpythonがインストールされておりEmbeddable Pythonとの混同を防ぐためです。

./python.exe ./Scripts/pip.exe list

実行するとpip以外のパッケージが入っていないはずです。

5. pipを使用してパッケージをインストールする

pipを利用してPythonにパッケージをインストールするには、Embeddable Pythonのパスでコマンドプロンプトを開いてPythonのパスを指定してpipを実行する必要があります。
すでにPythonをインストーラーで導入している環境ですと、そちらにパスが通っており誤って実行されてしまいます。

./python.exe ./Scripts/pip.exe install パッケージ名

試しにnumpyをインストールします。

.\python.exe .\Scripts\pip.exe install numpy

上記同様にインストールされた場所にパスが通っていないという旨の警告が出ますが、正しくnumpyがインストールされます。

参考文献

Python embeddableで環境を汚さず可搬で複製しやすい開発環境を整える(Windows)
Embeddable Python 環境を構築する

Discussion