普段使用している PC とは別の環境でちょろっと Python 書いて実行できたら便利だなあと思う機会がここ最近何度もあったので USB 内に Python 環境を作ってみました(Windows 前提です)。
Python 環境
USB に Python 環境を用意する選択肢はいくつかありますが今回はembeddable package使うことにしました(容量少ないし!)。
embeddable package
Python Releases for Windowsから”embeddable package”を選んでダウンロードします。おわりです 👍
ダウンロードしてきた zip を解凍してpython.exe
を叩けば Python が動きます。ただし動作にはMicrosoft C Runtimeが必要です。
pip を使えるようにする
そのままでは pip が使えないので使えるようにしてみます。
ダウンロードしてきたファイルにあるpythonXX._pth
(XX はバージョン)が、
pythonXX.zip
.
# Uncomment to run site.main() automatically
#import site
のようになっているはずなので下記のようにアンコメントします。
pythonXX.zip
.
# Uncomment to run site.main() automatically
import site
その後、get-pip.pyをダウンロードしてきて、
python get-pip.py
を実行すると pip が入ります。あとは
python -m pip install numpy
とかで好きなパッケージを入れるだけです。
エディターも
せっかくなのでエディターも USB 内に用意しておきます。今回はみんな大好き Visual Studio Code を入れることにしました(容量は気にしない!)。
VS Code(Zip)
Download Visual Studio Codeから Zip 版をダウンロードしてきます。おわりです 👍
ダウンロードしてきた zip を解凍してcode.exe
を叩けば VS Code が起動します。
拡張機能を入れる
このままでは味気ないので拡張機能も少々入れることにします。
Zip 版の VS Code に拡張機能をいれるにはまず解凍したフォルダー内にdata
フォルダーを作成します。作成するとセッション状態、設定、拡張機能などのすべてのデータがdata
フォルダー内に保存されます。詳細は、Portable Mode in Visual Studio Codeを参照してください。
あとはいつも通り拡張機能をインストールするだけです。今回は Python の開発(それもちょっとしたもの)のみが目的なのでこの辺りをいれておけば十分かなと思います。
(2021/05/12 追記) 2021/5 の Python extension からデフォルトの language server として Pylance が採用されバンドルもされているようなので Pylance を追加でインストールする必要はなくなったみたいですね。
setting.json
最後にsetting.json
をいじってpython.exe
のパスを VS Code に教えておきます。
{
"python.pythonPath": "${execPath}/../../python-x.x.x/python.exe",
"python.languageServer": "Pylance"
}
${execPath}
は VS Code で定義されている変数でcode.exe
のパスを表します( Visual Studio Code Variables Reference)。
今回python.exe
もcode.exe
も USB メモリ内にあることを想定しているので、${execPath}
から相対パスで指定するのが手っ取り早いと思います。
おわりに
この USB を持ち歩けば自 PC 以外でも普段とほぼ同じ環境でささっとスクリプト書いて実行できるので便利そうです。