32
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[VS Code] Pythonの venv 環境をデフォルトで読み込む

Posted at

はじめに

venv環境をactivateするときに下のコマンドをターミナルに毎回打ち込んでいたが、めんどくさくなった。

.\venv\Scripts\activate

VS Codeの機能を使えば自動で読み込んでくれるのではないかと思い、調べてみると案の定だった。

対象者

この記事は下記のような人を対象にしています。

  • Python初学者

環境

Windows 10 home

結論

以下のような既存の記事を見ると解決するが、備忘録として残す。

デフォルトで読み込まれるパス

  • ワークスペースディレクトリ配下の venv など(ディレクトリ名は任意)
  • 設定(setting.json)の python.venvFolders で指定したデフォルト値
setting.json
// Folders in your home directory to look into for virtual environments.
  "python.venvFolders": [
    "envs",
    ".pyenv",
    ".direnv"
  ]

setting.jsonの開き方は以下の記事が詳しい。

仮想環境の作成

VS Codeの上部のメニューから 「ターミナル」→「新しいターミナル」を選択し、新しいターミナルを起動します。
そして仮想環境を作成します。

python3 -m venv venv               # ワークスペースディレクトリ上

コマンドパレットでインタープリタの設定

VS Code でワークスペースディレクトリ( venv を含むディレクトリ)を開きます。
次に、「Ctrl」 + 「Shift」 + 「p」 でコマンドパレットを開き、Python Interpreter などと打ち込み
「Python: インタープリターを選択」 を選択します。

image1.jpg

以下のように、環境が認識されてていることが確認できます。
律儀なことに星までついています。

image2.jpg

ここでは、「venv」を選択します。
左下の 使用インタプリターの表示で venv が選択されていることが確認できます。

image3.jpg

この状態でターミナルを起動すると、自動で該当の activate コマンドが実行され、仮想環境に入った状態になります。

image4.png

うまくいかないときの処方箋

VS Codeの設定が英語で、「Terminal」ならあるが「ターミナル」なんて無いんだが?

日本語化すると作業がスムーズです。設定はいつでも戻せます。

ターミナルで仮想環境を作成できないんだが?

pythonをインストールできていないか、パスが通っていません。
以下のサイトの手順に従ってください。

コマンドパレットで「Python: インタープリターを選択」が出てこないんだが?

  • 前述のとおり、一番最初は python Interpreter まで入力する必要がある
  • 拡張機能からpythonをVS Codeでインストールできていない(関係ないかも)

作成したはずの仮想環境が候補に出てこないんだが?

以前にAnacondaなどを使用していた場合、仮想環境の候補がたくさん出てくる場合があります。
列挙された仮想環境のリストを一番下まで見てください。

おわりに

次からはプロジェクトフォルダを開くと自動で仮想環境が読み込まれる。
数秒の時短とストレスの緩和に期待。

32
26
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
32
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?