0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCodeでPython仮想環境を一発アクティベートコマンド

Last updated at Posted at 2025-10-28

基本情報

開発マシン:Windows11
開発環境:VSCode
言語:python
プロジェクトのフォルダ:D:\python\myproject
仮想環境:D:\python\myproject\.venv

前提条件

PowerShellの実行ポリシーを恒久的にBypassやRemoteSignedをしたくない。

Python仮想環境アクティベートのエラー

Windows11等のクライアント端末ではデフォルトでスクリプトの実行が制限されています。そのため、Pythonの仮想環境にアクティベートしようとすると、以下の通りエラーになります(VSCodeであらかじめプロジェクトのフォルダを開いておき、ターミナルで実行しています)。

PS D:\python\myproject> .\.venv\Scripts\activate
.\.venv\Scripts\activate : このシステムではスクリプトの実行が無効になっているため、ファイル D:\python\myproject\.venv\Scripts\Activate.ps1 を読み込むことができません。詳細については、「about_Execution_Policies
」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ .\.venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

このエラーを解消するため、例えば

PS D:\python\myproject>Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

等として、このプロセス限定でスクリプトの実行を許可して、

PS D:\python\myproject> .\.venv\Scripts\activate
(.venv) PS D:\python\myproject> 
    # 入力部分の先頭に(.venv)が付いたので仮想環境がアクティベートされたことがわかる

とアクティベートしていました。しかしプロセスが変わるたび、この2行を毎回実行するのが手間で、せめて1回で実行するコマンドを作成しました。

一発アクティベートコマンド

下記にて上記コマンド2つを1行で実行できます。他のプロジェクトでも仮想環境名を同じ(私の場合.venv)にしておけば、使いまわしできます。

PS D:\python\myproject> Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass; .\.venv\Scripts\Activate.ps1

単純にPowerShellコマンドをセミコロン(;)でつないだだけですが、それに気づかずしばらく手間だな~と思いながら2行打っていたので、同様に思っている方に届けばと思い投稿しました。

課題

基本的に開発時に環境を立ち上げ、一回実行すればよいかなと思っていましたが、F5でデバッグ実行の際にデバッグ用のターミナルが新規で開くため、別プロセスのためエラーになってしまいます。現状はそちらで再度、上記のコマンドを実行しています。

何か良い方法をご存じの方がいたらご教示頂けると幸いです!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?