1. 概要
Windows 11の強固なセキュリティ制限(コマンドプロンプト禁止、管理者権限なし、PowerShell実行ポリシー制限)がかかった教育現場において、ポータブルなPython環境を構築し、生徒のローカルマシンでPyxel(レトロゲームエンジン)を起動させることに成功しました。あらかじめpyxelモジュール等は、別環境でインストールしWinPythonフォルダをzipにして、teams経由で、ダウンロードしてPC室で検証してみました。
2. ターゲット環境の制限状況(再確認)
検証の結果、以下の制限が非常に強力にかかっていることが判明しました。
-
ツールレベルの制限:
cmd.exe、TaskMgr.exeの起動がシステム全体で禁止 -
権限の制限: WinPython付属のコントロールパネル等の実行には管理者でないと実行できないメッセージが表示される。
-
実行ポリシーの制限: 署名のないPowerShellスクリプト(
.ps1)の実行不可。「許可する(Unblock)」のチェックボックスすら表示されない徹底した管理
3. 解決策:WinPythonポータブルパッケージの配布
マスター環境の構成
-
Base: WinPython 64bit 3.13.x (軽量版をベースに約32MBに圧縮)
-
Libraries:
pyxel,pymunkをあらかじめインストール済 -
Distribution: Microsoft Teams経由でZIP配布
4. 実証:オンライン授業での動作検証結果
生徒のPCで各実行ファイルをテストした結果、以下の挙動が確認されました。
| 実行ファイル | 結果 | 備考 |
|---|---|---|
WinPython Command Prompt.exe |
× 失敗 | 管理者権限を要求され、起動不可。 |
WinPython Control Panel.exe |
× 失敗 | 管理者権限を要求され、起動不可。 |
WinPython Interpreter.exe |
○ 成功 | インタラクティブモードが起動。 |
WinPython Powershell Prompt.exe |
△ 制限あり | デジタル署名エラーで準備スクリプトが停止。 |
【勝利の鍵】直接パス指定による実行
システムとしての「プロンプト」は封じられていても、「ユーザー権限で実行ファイル(.exe)を直接叩くこと」は許可されていることが判明しました。以下の手順でPyxelのサンプル実行に成功しました。
PowerShell
# エラーが出るプロンプトをそのまま使い、手動でパスを通す
PS C:\...> cd ..
PS C:\...> .\python\python.exe .\test0.py # WinPython内のpython.exeを直接叩く
これにより、import pyxel が正常に通り、グラフィックウィンドウが表示されることを確認しました。
5. アクセシビリティと今後の運用計画
技術的な壁を突破した後の、実際の授業に向けた運用フローです。
VS Codeの導入(教員主導)
-
個別対応: 受講生徒が少人数であることを活かし、教員アカウントでログインしてVS Codeを各マシンにインストール。
-
インタープリター設定: VS CodeのGUIから、解凍したWinPython内の
python.exeを一度だけ指定。これにより、生徒は次回から再生ボタン(▷)を押すだけでパスを意識せず実行可能。
環境の永続化への対策
-
環境復元ソフトの懸念: シャットダウン後に設定や拡張機能が消える可能性がある。
-
対策: もし消える場合は、VS Codeもポータブル版(フォルダ内に
dataフォルダを作成する形式)に変更し、ドキュメントフォルダ等で一括管理する「フルポータブル構成」へ移行。
6. 結論:面倒を「喜び」に変えるために
今回の「WinPython大作戦」の成功は、以下の3つのポイントに集約されます。
-
ホワイトリストの特定: 制限下でも「ドキュメント/ダウンロード内の実行ファイル」は動くという確証を得たこと
-
事前セットアップ: ネットワークが制限されている生徒の元へ、
pip済みの環境を届けたこと -
生成AIの活用: 面倒な初期コードはAIで補助し、生徒が「振る舞い(パラメータ)の変更」というプログラミングの核心的な楽しさに即座に触れられるようにしたこと
「できた!」という歓声が上がる教室を目指し、来週から本格的なコーディング体験をスタートさせます。
以上、パソコン環境にあわせて検証した一事例です。ありがとうございます。
使用スタック詳細
-
Language: Python 3.13
-
Engine: Pyxel (Graphic), Pymunk (Physics)
-
Editor: VS Code
-
Deployment: Teams + ZIP Distribution
-
Target: Special Support Education (High School)