PowerShell を実行
スタート (右クリック) から「Windows PowerShell(I)」を選択
Python が Microsoft Store からインストールされていないことが分かる。
>_ Windows PowerShell
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Users\who> Get-AppxPackage -Name "*Python*" ⏎ # ストアアプリ検索コマンド ~ 何も表示されない ~ PS C:\Users\who> exit ⏎
2-1. スタート - Microsoft Store を選択し、python を検索する。
2-2. インストールアプリの選択画面 (1)
検索で発見された Python の最新をクリックする。2-3. ボタンをクリックする。
ここでは最新バージョンの 3.9 を選択する。
2-4. Microsoft アカウントは特に必要ないので、 ボタンをクリックする。
2-5. インストールの終了を待つ。
2-6. インストール終了画面。
前の画面に戻るため「←」アイコンをクリックする。2-7. インストールアプリの選択画面 (2)
Python 3.9 が「インストール済み」に変化した。2-8. Python がインストールされたことを確認する。
Python (バージョン 3.9.240.0) がインストールされた。
>_ Windows PowerShell
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Users\who> Get-AppxPackage -Name "*Python*" ⏎ Name : PythonSoftwareFoundation.Python.3.9 Publisher : CN=4975D53F-AA7E-49A5-8B49-EA4FDC1BB66B Architecture : X64 ResourceId : Version : 3.9.240.0 PackageFullName : PythonSoftwareFoundation.Python.3.9_3.9.240.0_x64__qbz5n2kfra8p0 InstallLocation : C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.240.0_x64__qbz5n2kfra8p0 IsFramework : False PackageFamilyName : PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0 PublisherId : qbz5n2kfra8p0 IsResourcePackage : False IsBundle : False IsDevelopmentMode : False NonRemovable : False IsPartiallyStaged : False SignatureKind : Store Status : Ok PS C:\Users\who> exit ⏎
※太字部分が pygame の格納ディレクトリ。
>_ Windows PowerShell
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Users\who> python -m pip install --upgrade pip ⏎ # 先に pip をアップグレードする Collecting pip Downloading pip-20.2.4-py2.py3-none-any.whl (1.5 MB) | | 1.5 MB 2.2 MB/s Installing collected packages: pip WARNING: The scripts pip.exe, pip3.9.exe and pip3.exe are installed in 'C:\Users\who\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\lo cal-packages\Python39\Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed pip-20.2.4 PS C:\Users\who> python -m pip install pygame ⏎ # pygame をインストールする Collecting pygame Downloading pygame-2.0.0-cp39-cp39-win_amd64.whl (5.1 MB) | | 5.1 MB 6.4 MB/s Installing collected packages: pygame Successfully installed pygame-2.0.0 PS C:\Users\who> python -c "import pygame; print(pygame.__file__)" ⏎ # pygame のバージョンと格納ディレクトリを確認する pygame 2.0.0 (SDL 2.0.12, python 3.9.0) Hello from the pygame community. https://www.pygame.org/contribute.html C:\Users\who\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pygame\__init__.py PS C:\Users\who> exit ⏎
※注意: 実際の表示は太字になりません。
上記 3 で確認した格納ディレクトリ + "examples\" にサンプルプログラムが存在している。
>_ Windows PowerShell
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Users\who> dir C:\Users\who\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pygame\examples\ ⏎ ディレクトリ: C:\users\who\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pygame\examples Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2020/10/30 23:36 data d----- 2020/10/30 23:36 __pycache__ -a---- 2020/10/30 23:36 1062 aacircle.py -a---- 2020/10/30 23:36 12127 aliens.py -a---- 2020/10/30 23:36 3616 arraydemo.py -a---- 2020/10/30 23:36 1718 audiocapture.py -a---- 2020/10/30 23:36 3425 blend_fill.py -a---- 2020/10/30 23:36 6345 blit_blends.py -a---- 2020/10/30 23:36 2987 camera.py -a---- 2020/10/30 23:36 5931 chimp.py -a---- 2020/10/30 23:36 2879 cursors.py -a---- 2020/10/30 23:36 2240 dropevent.py -a---- 2020/10/30 23:36 5399 eventlist.py -a---- 2020/10/30 23:36 2410 fastevents.py -a---- 2020/10/30 23:36 2437 fonty.py -a---- 2020/10/30 23:36 9617 font_viewer.py -a---- 2020/10/30 23:36 4186 freetype_misc.py -a---- 2020/10/30 23:36 16846 glcube.py -a---- 2020/10/30 23:36 1301 headless_no_windows_needed.py -a---- 2020/10/30 23:36 2527 liquid.py -a---- 2020/10/30 23:36 5867 mask.py -a---- 2020/10/30 23:36 29424 midi.py -a---- 2020/10/30 23:36 1810 moveit.py -a---- 2020/10/30 23:36 9006 music_drop_fade.py -a---- 2020/10/30 23:36 1646 overlay.py -a---- 2020/10/30 23:36 3450 pixelarray.py -a---- 2020/10/30 23:36 4544 playmus.py -a---- 2020/10/30 23:36 2478 prevent_display_stretching.py -a---- 2020/10/30 23:36 4429 README.rst -a---- 2020/10/30 23:36 1086 resizing_new.py -a---- 2020/10/30 23:36 4852 scaletest.py -a---- 2020/10/30 23:36 3101 scrap_clipboard.py -a---- 2020/10/30 23:36 6571 scroll.py -a---- 2020/10/30 23:36 1774 setmodescale.py -a---- 2020/10/30 23:36 1158 sound.py -a---- 2020/10/30 23:36 5814 sound_array_demos.py -a---- 2020/10/30 23:36 2505 sprite_texture.py -a---- 2020/10/30 23:36 2748 stars.py -a---- 2020/10/30 23:36 7037 testsprite.py -a---- 2020/10/30 23:36 5450 textinput.py -a---- 2020/10/30 23:36 3262 vgrade.py -a---- 2020/10/30 23:36 4497 video.py -a---- 2020/10/30 23:36 0 __init__.py PS C:\Users\who> exit ⏎
上記 4 のサンプルプログラムの中から eventlist.py を実行する。
>_ Windows PowerShell
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Users\who> python -m pygame.examples.eventlist ⏎ ~ 下記実行画面が表示される ~ PS C:\Users\who> exit ⏎
この実行画面でマウスを動かしたり、キーを押したりすると「Status Area」中の文字が変化し、
その時何が起きているか「Event History Area」に表示される。
Microsoft Store からアプリ (Python) をインストールすると、実行ファイルはサイズ 0 のリンク情報となり、
Apache 等、プロセスに厳密なアプリケーションからは起動できません。
Apache のエラーログ (C:\Apache24\logs\error.log)Microsoft Store のアプリの実体パスを確認する。
ファイル設置場所 : C:\Apache24\htdocs\hello.cgi
[Mon Nov 22 18:42:26.861694 2021] [cgi:error] [pid 5992:tid 1280] (OS 1920)ファイルにアクセスできません。 : [client 127.0.0.1:50537] AH01223: couldn't spawn child process: C:/Apache24/htdocs/hello.cgi
XAMPP の場合 (C:\xampp\apache\logs\error.log)
ファイル設置場所 : C:\xampp\htdocs\hello.cgi
[Mon Nov 22 18:56:36.496861 2021] [cgi:error] [pid 2940:tid 1868] (OS 1920)ファイルにアクセスできません。 : [client 127.0.0.1:51465] couldn't create child process: 721920: hello.cgi [Mon Nov 22 18:56:36.496861 2021] [cgi:error] [pid 2940:tid 1868] (OS 1920)ファイルにアクセスできません。 : [client 127.0.0.1:51465] AH01223: couldn't spawn child process: C:/xampp/htdocs/hello.cgi
hello.cgi の内容 (✗NG の例)
#!C:\Users\who\AppData\Local\Microsoft\WindowsApps\python.exe ← エラーになる # -*- coding: utf8 -*- # CGI のテスト print("Content-type: text/html\n") print("Hello, Python")
実行ファイル (python.exe) のファイルサイズが 0 になっている。
>_ Windows PowerShell
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Users\who> dir C:\Users\who\AppData\Local\Microsoft\WindowsApps\python.exe | Select-Object "Length","Name" ⏎ Length Name ------ ---- 0 python.exe ← ファイルサイズがゼロ PS C:\Users\who> exit ⏎
確認した実体パスを使用してアプリ (python.exe) を指定する。
>_ Windows PowerShell
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Users\who> Get-AppxPackage -Name "*Python*" | Select-Object "InstallLocation" ⏎ InstallLocation --------------- C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.240.0_x64__qbz5n2kfra8p0 ← 実体パス PS C:\Users\who> exit ⏎
hello.cgi の内容 (✓OK の例)
#!C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.240.0_x64__qbz5n2kfra8p0\python.exe # -*- coding: utf8 -*- # CGI のテスト print("Content-type: text/html\n") print("Hello, Python")