🐍

VSCodeでPythonの仮想化環境を作りActiveにする際に出てくる、エラーの回避とその詳細

2024/04/21に公開

解決は簡単

  1. Visual Studio Code insiders(以降、VSCode)の表示→コマンドパレットを押下し出てきた入力欄に「settings」と入力
  2. Open Settings(JSON)を開き、以下を追加する
       "terminal.integrated.env.windows": {
    "PSExecutionPolicyPreference": "RemoteSigned"
}

詳細は以下↓
https://qiita.com/startours777/items/2d35f2c6de12071a4c77



じゃあ、具体的になにしてるの?

まず、外側

"terminal.integrated.env.windows": 

ここは、Windowsで統合ターミナルを使用する際に、ターミナル内で使用される環境変数を指定するためのものらしい。
つまり、"PSExecutionPolicyPreference": "RemoteSigned"が環境変数として指定されているということ。

つぎ、内側

"PSExecutionPolicyPreference": "RemoteSigned"

"PSExecutionPolicyPreference"

ここは、PowerShellスクリプトの実行ポリシー(Execution Policy)を指定する設定の部分。
PowerShellは、スクリプトを実行する際にセキュリティ上の理由から実行ポリシーを設定する必要があるみたい。
このポリシーによって、スクリプトの実行が無効になっていたんだろうね。

"RemoteSigned"

これは実行ポリシーの一つで、次のような動きをする

  • ローカルで作成されたスクリプト(つまり、そのコンピュータ上で作成されたもの)は自由に実行できる
  • リモートからダウンロードされたスクリプト(インターネット経由やネットワーク経由など)は、デジタル署名されている必要がある。つまり、信頼された発行元によって署名されたスクリプトのみが実行できる。

ローカルで作成されたスクリプトには制限を加えず自由に実行できるみたい。

Discussion