制限されたWindows 11環境下で、いかにして教育用プログラミング環境を構築したか。その試行錯誤と解決策を「WinPython大作戦」としてまとめました。一事例です。ベストを尽くしていければと思います。
1. 背景と課題
特別支援学校高等部での高等学校教科「情報Ⅰ」「情報Ⅱ」学校設定科目「情報演習」において、Windows 11の強力なシステム制限が大きな壁となりました。生徒一人ひとりに合わせた柔軟な環境(片手操作やショートカットキー入力の難しさなど)が必要であるにもかかわらず、標準的なプログラミングが行える開発環境の構築が不可能な状態でした。
制限事項のリスト
-
管理者権限なし: インストーラー(.exe/ .msi)の実行不可。
-
システムツールの封印: コマンドプロンプト、タスクマネージャーの起動禁止。
-
ネットワーク制限:
pip installがファイアウォールやプロキシで遮断。 -
アカウント制限: Googleアカウントやメールアドレスが利用不可(クラウドIDEの利用不可)。
-
セキュリティポリシー: 署名のないPowerShellスクリプトの実行禁止。
2. 戦略:ポータブル環境による「突破口」の確保
システムを変更できないのであれば、「システムに変更を加えない独立した環境」を構築し、それを丸ごと持ち込む戦略をとりました。
Blenderの先行成功事例
インストール不要のZIP版Blenderを「ドキュメント」フォルダ内で実行できることを確認。これにより、「ドキュメントフォルダ内であれば実行ファイルが動く」というホワイトリストの穴を特定しました。
3. 実装:WinPythonによる「全部入り」環境の構築
通常のPythonではなく、レジストリを汚さず、フォルダ単体で完結するWinPythonを採用しました。
ステップ1:マスター環境の作成(自宅・制限なし環境)
-
WinPythonの軽量版(WPy64-3.13.x等)をダウンロード。
-
付属の
WinPython Control Panel.exeを使用し、授業で必要なライブラリを一括インストール。-
pip install pyxel(レトロゲーム開発用) -
pip install pymunk(物理演算用)
-
-
この時点で、ライブラリを含めたフォルダサイズを約32MB(ZIP圧縮時)に抑えることに成功。
ステップ2:VS Codeとの連携設定
生徒が複雑なパス設定を行わなくて済むよう、VS Codeのインタープリター機能を活用します。
-
VS Codeの「インタープリターの選択」から、解凍したWinPythonフォルダ内の
python.exeを直接指定。 -
これにより、システム全体のPython設定を無視し、特定フォルダ内のライブラリを優先的に参照させることが可能になりました。
ステップ3:セキュリティエラー(Execution Policy)の回避
スクリプト実行制限により、WinPythonのプロンプト起動時(WinPython Powershell Prompt.exe)に「デジタル署名がない」というエラーが発生。これに対し、scripts/WinPython_PS_Prompt.ps1のプロパティの**「許可する(Unblock)」**チェックボックスを手動で入れることで、ポータブル環境内のPowerShellスクリプトを実行可能にしました。
4. アクセシビリティへの配慮
技術的な環境構築と並行して、キーボード設定について、一人ひとりにあわせて検証していく必要があります。
-
固定キー機能の活用:
CtrlやShiftを一度押すだけで有効に。 -
VS Codeスニペット: 定型文(
pyxel.initなど)を数文字の入力で展開。 -
コマンドパレット中心の操作: ショートカットキーの代わりに
F1キーとマウスで全機能を呼び出し。
5. 配信と運用
完成した「WinPython環境一式(ZIP)」をMicrosoft Teamsにアップロード。生徒は以下の3ステップで学習を開始できます。
-
TeamsからZIPをダウンロード。
-
「ドキュメント」フォルダへ解凍。
-
VS Codeでフォルダ内の
python.exeを選択。
6. 結論
「できないこと」が多い制限環境は、裏を返せば「コンピュータの仕組みを深く理解する」ための最高の教材となります。WinPythonのようなポータブルツールを活用することで、厳格なセキュリティポリシーを維持したまま、生徒の創造性を最大限に引き出す学習環境を構築することが可能となりました。
使用技術スタック
-
Base: WinPython 3.13.x (Portable)
-
Editor: VS Code
-
Library: Pyxel, Pymunk
-
Platform: Windows 11 (Standard User)
-
Backup Plan: Pyxel Web (WebAssembly版)
この構成案が、次回の授業準備や、同じような環境で悩む教育関係者の方々の参考になれば幸いです。ありがとうございます。
続きはこちら。
WinPython Powershell Prompt.exe を起動するとデジタル署名エラー、その対処法です。
ありがとうございます。