[pygame]VisualStudioCodeの設定について
pygameを作成際に、VisualStudioCodeでの設定でエラーが発生することがあったため、解決方法と原因を以下に記載
1:スクリプトの実行が無効になっているErrorが発生:
[発生手順]
1.VisualStudioCodeで、仮想環境作成
2.pythonファイル作成
3.pythonファイル実行 ←error
[Error]
program実行時に、以下のエラーが発生
& : このシステムではスクリプトの実行が無効になっているため、ファイル & c:/Users/ ...\venv\Scripts\Activate.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
+ & c:/Users/ ...
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
[原因]
Microsoftのセキュリティで、弾かれていた
[解決策]
commandpromptではなく、Windows PowerShell で実行すること
Patern2の場合、管理者として実行すること
Patern1: ExecutionPolicy オプションによる実行ポリシーの変更
・ 実行するスクリプトに対してのみ指定した実行ポリシーが適用する。
c:\work>PowerShell -ExecutionPolicy RemoteSigned .Scripts\Activate.ps1
Patern2: Set-ExecutionPolicy による実行ポリシーの変更 (恒久的)
c:\work>PowerShell Set-ExecutionPolicy RemoteSigned
2:pygameがinstallされていないエラー
[発生手順]
1.VisualStudioCodeで、仮想環境作成
2.pythonファイル作成
3.pythonファイル実行 ←error
[Error]
program実行時に、以下のエラーが発生
Traceback (most recent call last):
File "c:\Users\python\pygame_rpg\rpg.py", line 1, in <module>
import pygame
[原因]
仮想環境内で、pygameがインストールされていなかったことが原因
pygameの公式サイトにある以下のコマンドをそのまま入力していたこととにより、仮想環境ではなく、ホーム ディレクトリにインストールされていた
python3 - m pip install - U pygame -- user
[解決策]
-
.venv\Scripts\activate.bat を実行する
-
Python拡張機能の初期設定として、Pythonインタプリタを指定します。
現在のインタプリタが仮想環境のパスかを確認する。Ctrl+Shift+P (View > Command Palette) を押してから、出てきた検索ウィンドウに Python: Select Interpreter と入力することで設定できます. -
pip list を実行する
インストール済みライブラリの確認 -
pip install pygame を実行する
pygameをインストール
インストールしたモジュールは、仮想環境内にのみ書き込まれ、元の Pythonや、他の仮想環境からは利用できない
まとめ
PowerShell 実行ポリシーとその管理方法についてが原因で発生していました。
コマンドを指示通りに実行すると、動作するようにはなるが、どのステータスがどういった意味なのか、現在どういった状態なのかを把握しておきたいので、Microsoft公式ドキュメントで確認しつつ設定をしました!
また、仮想環境の作成について勉強になりました。
参考サイト
Microsoft公式ドキュメント
[Qita]PowerShell のスクリプトが実行できない場合の対処方法
Markdown記法チートシート
仮想環境の作成
pygameのインストール