今回は完全に備忘録。
PyenvでPythonのバージョン切り替え用とした時に、Pyenvが上手いこと動かなかった時の対処法をメモとして残します。
状態
PyenvでPythonのバージョンを切り替えようと思ったら、Pyenvの一切のコマンドが動かなかった。
pyenv : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\hogeohoge\.pyenv\pyenv-win\bin\pyenv.ps1 を読み込むことができません。詳細については、「about_Execution_Policies 」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。 発生場所 行:1 文字:1 + pyenv version + ~~~~~ + CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
環境
- CPU:AMD Ryzen 7 5700X
- GPU:Radeon RX 6700 XT
- 32GB RAM
- Pyenv 3.1.1
- Python 3.8.5(切り替え前)
- Python 3.10.5(切り替え後)
- Windows 11 Pro v22H2(22621.1265)
解決
原因はPowerShellのExecutionPolicyにあるようなのでこれを変更する。
Windowsターミナル(PowerShell)を管理者権限で開き、Set-ExecutionPolicy RemoteSigned
を実行。
なお、現在の設定を確認するにはGet-ExecutionPolicy
コマンドを使用する。値がデフォルトでは「Restricted」となっており、ps1やps1xmlのようなスクリプトが実行できない様になっていた模様。
再度pyenvを実行し正常に動作することを確認。