はじめに
最近、6年振りにPCを買いました。
大幅なスペックアップにほくほくしながらセットアップを完了。
さぁ、いざ快適な開発体験を!
と意気揚々にPythonの仮想環境を立ち上げるも
venv/Scripts/activate
を実行すると見慣れない、アラートが...
実行環境
OS: windows 11 pro
Python: 3.12.2
本文
以下は、実際に表示されたエラーです。
.\venv\Scripts\Activate : このシステムではスクリプトの実行が無効になっているため、
ファイル C:\Users\user1\venv\Scripts\Activate を読み込むことができません。
詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170)
を参照してください。
発生場所 行:1 文字:1
+ .\venv\Scripts\Activate
+ ~~~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
何やら、実行ポリシーがうにゃうにゃと書いてますね。
表示されているURLにアクセスすると、
WindowsのPowershellのページが表示されます。
上のほうに以下の文言があります。
PowerShell の実行ポリシーは、PowerShell が構成ファイルを読み込み、スクリプトを実行する条件を制御する安全機能です。 この機能は、悪意のあるスクリプトの実行を防止します。 |
---|
要するに、Powershellのデフォルト設定では、セキュリティの都合上、vnev/Scripts/activate
を実行できないという話。
なので後はスクリプトの実行許可を出すだけでいいなら、以下のコマンドを実行。
$ Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
その後、再度venvのスクリプトを実行します:
venv\Scripts\activate
これでエラーが解消され、venvが正常に動作しましたね。
まとめ
数年振りにPCを買い替えたこともあり、昔した諸々の手順をほとんど忘れていた為、起こったエラーでした。
皆さんもwindowsを買い替えた際には、ご注意を。
参考文献
- Powershellの実行ポリシーについて: about_Execution_Policies
- Python.jp: Python windowsの仮想環境について
↑最初に行きつけば、この記事を書く必要がなかったほどの良記事