Windows1のPowerShellは、デフォルトの設定では全てのスクリプトが実行禁止になっているので、「.ps1」のスクリプトファイルを実行できません。そのためPythonの仮想環境に入るためのスクリプトactivate.ps1を実行できません。
ここでは、実行ポリシー(Execution Policy)の設定を確認し、「.ps1」のスクリプトを実行できるよう実行ポリシーを変更する手順を記載します。
PowerShellの実行ポリシーを確認する
環境
- Windows 7 (SP1) Ultima x64
まずはPowerShellを起動し、現在の実行ポリシーを確認するため、以下のコマンドを実行します。
Get-ExecutionPolicy
実行すると、デフォルトの実行ポリシーが表示されます。
このとき表示されるRestrictedは、全てのスクリプトの実行禁止を意味します。
PowerShellの実行ポリシーの変更
実行ポリシーはRemoteSignedが一番使い勝手がよいらしいので、次の手順で変更します。
RemoteSignedは、ローカルに保存されているスクリプトは実行可能で、インターネットからダウンロードしたスクリプト(非ローカルのスクリプト)は、署名されているもののみが実行可能。
変更するには、PowerShellを管理者権限で起動し、Set-ExecutionPolicyコマンドで次のように実行ポリシーを変更します。
Set-ExecutionPolicy RemoteSigned
再度、Get-ExecutionPolicyを実行することで、実行ポリシーがRemoteSignedに変更されることを確認できます。
VisualStudioCodeでターミナルをPowerShellに設定する場合
VisualStudioCodeのメニューのファイル>基本設定>設定を開き、ユーザー設定タブの、機能>設定で、terminal.integrated.shell.windowsの項目を探し、値を次のように設定。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Ctrl+@でターミナルを起動し新しいターミナルを開くと、新規のターミナルがPowerShellになることを確認できます。
因みに、コマンドプロンプトに戻す場合は、値を次のように設定します。
C:\Windows\system32\cmd.exe
余談ですが、Gitをインストールしている場合はGit-bashが使えるので、Git-bashのbash.exeまでのフルパスを指定することにより、ターミナルでbashを使用することができます。これで多くのシェルコマンドがターミナルで使えることになり、Unix/Linuxユーザーには重宝しますね!
CドライブのProgram FilesにGitをインストールしている場合
C:\Program Files\Git\bin\bash.exe
-
VSCodeにGit Bashを導入する手順は次のリンクをご覧ください
https://qiita.com/psychoroid/items/63cc0ece70fce0f0cfc0
参考にしたサイト
-
Windows Server 2012 R2は除きます。 ↩