LoginSignup
19
20

More than 5 years have passed since last update.

Windows10のVSCodeでvenvを利用するときの注意点

Last updated at Posted at 2018-08-11

はじめに

Pythonでvenvを使い始めました。
Windows10,VSCode環境下で導入したのですが、
何点が引っかかったポイントがありました。

それぞれの対処法ついては、検索により比較的容易に情報が手に入りますが、
まとまったものはなかったため、メモとして残します。

venvについて

Pythonの仮想動作環境を作成するための、Pythonの標準パッケージです。
これにより、作成したプロジェクトごとに、
pipの導入状態を、独立させ切り替えることができます。

詳細は、以下の記事が詳しいです。
Qiita - venv: Python 仮想環境管理

Windows10環境下では、PowerShellの実行ポリシーを変える

PythonはPowerShell上で動作します。

仮想環境をActivateするためには、
その機能を持つPowerShell Scriptを実行する必要がありますが、
標準では実行できません

これはPowerShellの実行ポリシー(Execution Policy)によるものです。

ポリシーを変え、PowerShell Scriptを実行する方法はいくつかあります。
Qiita - PowerShellのExecutionPolicyのスコープとかについて詳しく

「管理者権限でPowerShellを開き、実行ポリシーをRemoteSignedにする」
がシンプルな方法となります。

具体的には、管理者権限でPowerShellを開いた後、以下を実行します。

Set-ExecutionPolicy RemoteSigned

開いたPowerShellだけ、実行ポリシーを変えることは可能か

可能です。
コマンドラインのみでvenvを利用しているならば、不都合はないと思います。
PowerShellを開いた後、以下のコマンドを実行するだけです。

Set-ExecutionPolicy RemoteSigned -Scope Process

しかし、VSCodeを使用する場合、不都合があります。
・後述する拡張機能には対応していない
・ターミナル起動時に上記コマンドを強制的に実行することはできるが、
それをすると、「ビルドタスクの実行」でPythonを実行できない。

プロジェクトのパス・フォルダー名には日本語を使わない

仮想環境作成時、
ActivateするためのPowerShellスクリプトに、
プロジェクトのフォルダが環境変数として記録されます。

日本語をパス・フォルダ名に含めるとActivationスクリプトの中身が一部文字化けします。
仮想化が正常に機能しないので、日本語の使用を避けます。

VSCodeに入れる拡張機能

venvに必要な拡張機能は、Microsoft公式の「Python」拡張機能です。

Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, refactoring, unit tests, snippets, and more.

VSCodeでのvenv環境使用方法

1.拡張機能インストール後、venv構築環境でVSCodeを開き、
コマンドパレット(CTRL + SHIFT + P)から、以下のコマンドを選択します。
「Python:インタープリターを選択」
ここから、venv環境のインタプリタを選択します。

2.同じくコマンドパレットから選択できる以下のメニューより、
仮想化されたPython環境を利用できます。
・「Python:REPLを開始」
・「Python:ターミナルでPythonファイルを実行」
・「Python:Pythonターミナルで選択範囲/行を実行」

無題.png

19
20
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
19
20