LoginSignup
9
9

More than 5 years have passed since last update.

Python + venv を使うときのVSCode環境

Posted at

はじめに

venvを使用して開発するときの、VSCodeの設定メモ。自分用です。。
Pythonのインストールまで完了している状態。2.x系と3.x系で情報が混在しててわけわかんなかったので、基本的なところも自分用にメモ。

環境

Windows 10
Python 3.6.5
Visual Studio Code

仮想環境の作成と起動

PowershellかCmdを起動し、次のコマンドを実行する。
参考:28.3. venv — 仮想環境の作成(Python公式ドキュメント)

PS C:\Code> python -m venv myvenv

フォルダが作成され、仮想環境が作成されている。

PS C:\Code> Get-ChildItem .\myvenv


    ディレクトリ: C:\Code\myvenv


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2018/05/20     14:59                Include
d-----       2018/05/20     14:59                Lib
d-----       2018/05/20     15:00                Scripts
-a----       2018/05/20     14:59             75 pyvenv.cfg

PS C:\Code>

次のコマンドで仮想環境を起動する。

PS C:\Code> .\myvenv\Scripts\Activate.ps1
(myvenv) PS C:\Code>

プロンプトの頭に(myvenv)と表示されていれば、仮想環境が起動できている。試しに、pipでインストールされているパッケージを確認する。

(myvenv) PS C:\Code> pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
pip (9.0.3)
setuptools (39.0.1)
You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(myvenv) PS C:\Code>

pipとsetuptools以外、何にも入っていないことがわかる。おまけにpython -m pip install --upgrade pipを実行しろと言っているので、素直に実行する。

(myvenv) PS C:\Code> python -m pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
      Successfully uninstalled pip-9.0.3
Successfully installed pip-10.0.1
(myvenv) PS C:\Code>

ここまで完了したら、好きなパッケージをインストールして開発を進めればよい。

VSCodeの設定

ここが本題。
VSCodeのPythonエクステンションのSettingファイルにも設定を記載する箇所があるようだけど、よくわかんねーでした。
結局、仮想環境を起動したプロンプトからVSCodeを起動するという古典的な方法に落ち着きました。これ以外に何か方法ないのかな・・・。

次のファイルをmyvenvフォルダへ作成して実行すれば、仮想環境の環境変数が引き継がれ、VSCode上のLintやパッケージの導入状態が引き継がれる模様。

Invoke-Code.ps1
Set-Location $PSScriptRoot
.\Scripts\Activate.ps1
& "C:\Program Files\Microsoft VS Code\Code.exe" .\

なお、Powershell V2以前は、$PSScriptRootが使えないので、バージョンアップするか、Split-Path $MyInvocation.MyCommand.Path -Parentにしてください。

9
9
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
9
9